<klf>
I have sort of a weird question. This first-class continuations (as implemented using the call/cc operator in racket) wouldn't be something that's easier implemented/supported in C, would it?
<klf>
You basically need to have a way to capture the state/environment in any particular point (and store it in a struct or something) in order to implement it.
<klf>
suppose there is a global variable k=10; Is k=10 recorded and passed as part of the continuation k at the time '(call/cc (lambda (k) (set! the-continuation k)))' is called?
mon_aaraj has quit [Ping timeout: 268 seconds]
mon_aaraj has joined #racket
johnjaye has joined #racket
johnjaye has quit [Ping timeout: 240 seconds]
Vaelatern has quit [Ping timeout: 260 seconds]
vats has joined #racket
Vaelatern has joined #racket
Vaelatern has quit [Changing host]
Vaelatern has joined #racket
mon_aaraj has quit [Ping timeout: 250 seconds]
mon_aaraj has joined #racket
s-liao has joined #racket
gproto23 has joined #racket
Algernon69 has joined #racket
s-liao has quit [Ping timeout: 256 seconds]
s-liao has joined #racket
capfredf has joined #racket
<ns12>
klf: If you don't get an answer to your question, try asking in #scheme instead. That channel is more active.
capfredf has quit [Ping timeout: 250 seconds]
vats has quit [Ping timeout: 256 seconds]
Algernon69 has quit [Ping timeout: 268 seconds]
s-liao has quit [Ping timeout: 256 seconds]
<klf>
ok
Algernon69 has joined #racket
<ns12>
klf: Plenty of Scheme implementers in that channel too. That's a good place to ask about the implementation of Scheme continuations. Some people might be able to point you to reading resources.
s-liao has joined #racket
s-liao has quit [Client Quit]
mon_aaraj has quit [Ping timeout: 240 seconds]
mon_aaraj has joined #racket
ec has quit [Remote host closed the connection]
ec has joined #racket
gproto23 has quit [Ping timeout: 240 seconds]
Algernon69 has quit [Read error: Connection reset by peer]
Algernon69 has joined #racket
klf has quit [Quit: Leaving]
ec has quit [Ping timeout: 276 seconds]
ec has joined #racket
cwebber has quit [Ping timeout: 240 seconds]
vraid has joined #racket
gproto23 has joined #racket
gproto23 has quit [Remote host closed the connection]
winny has quit [Remote host closed the connection]
gproto23 has joined #racket
winny has joined #racket
Algernon69 has quit [Read error: No route to host]
Algernon69 has joined #racket
winny has quit [Ping timeout: 276 seconds]
winny has joined #racket
ec has quit [Ping timeout: 276 seconds]
ec has joined #racket
szkl has quit [Quit: Connection closed for inactivity]
ec has quit [Ping timeout: 276 seconds]
capfredf has joined #racket
capfredf has quit [Ping timeout: 256 seconds]
skapata has joined #racket
skapata has quit [Changing host]
skapata has joined #racket
Algernon91 has joined #racket
Algernon69 has quit [Read error: No route to host]
mon_aaraj has quit [Ping timeout: 250 seconds]
mon_aaraj has joined #racket
mon_aaraj has quit [Ping timeout: 240 seconds]
mon_aaraj has joined #racket
capfredf has joined #racket
ec has joined #racket
Algernon91 has quit [Read error: Connection reset by peer]
capfredf has quit [Remote host closed the connection]
<countvajhula>
does anyone have any thoughts on the considerations in using (require "relative/path.rkt") vs (require absolute/path) in library code?
<countvajhula>
that is, in library code we could either use the absolute path to the module that's provided in the same collection, or the relative path since we know that it's in the current directory in a subfolder. Is there any practical difference between using either in this case?
<countvajhula>
just wondering
<bremner>
Well, not much of an answer, but I really only understand the former case
<countvajhula>
for example, in a package that provides the "coolgraph" top level collection (e.g. (require coolgraph))
<countvajhula>
say there are two modules graph.rkt and util.rkt
<countvajhula>
in graph.rkt, we could either say (require "util.rkt") or (require coolgraph/util)
<countvajhula>
i'm wondering whether there's a reason to favor one of these?
vats has joined #racket
<bremner>
yeah, I just meant I (still) don't really understand collections
<countvajhula>
and for instance, I think in Sage Gerard's Denxi, the relative path is preferred since it would not guarantee the global collection path (just because you're providing a coolgraph library doesn't mean it will necessarily always be at the path (require coolgraph). I was wondering whether raco might have a preference here and what the reasons for that might be
<countvajhula>
ah okay, yeah no worries!
<countvajhula>
part of the reason I'm asking is I'm writing a blog post about collections in racket
<countvajhula>
specifically in connection with setting up the lib/test/doc structure for libraries
<countvajhula>
and trying to make sure I understand first :)
Algernon91 has joined #racket
szkl has joined #racket
countvajhula has quit [Ping timeout: 240 seconds]
<winny>
One tradeoff to consider is renaming or forking. If internal library stuff is using the symbol specifier that could cause a bit of effort to adjust
Algernon91 has quit [Ping timeout: 268 seconds]
Algernon91 has joined #racket
countvajhula has joined #racket
Algernon91 has quit [Ping timeout: 268 seconds]
countvajhula has quit [Ping timeout: 240 seconds]
bremner has quit [Quit: Coyote finally caught me]
bremner has joined #racket
cwebber has joined #racket
mon_aaraj has quit [Ping timeout: 240 seconds]
mon_aaraj has joined #racket
countvajhula has joined #racket
<samth>
countvajhula: I would suggest using the relative paths internal to a library, unless it's something using a public API
countvajhula has quit [Ping timeout: 250 seconds]
countvajhula has joined #racket
capfredf has joined #racket
capfredf has quit [Ping timeout: 250 seconds]
ur5us has joined #racket
morte_ has joined #racket
ur5us has quit [Quit: Leaving]
mon_aaraj has quit [Ping timeout: 268 seconds]
mon_aaraj has joined #racket
cwebber has quit [Ping timeout: 268 seconds]
ur5us has joined #racket
ec has quit [Ping timeout: 276 seconds]
ec has joined #racket
ec has quit [Ping timeout: 276 seconds]
xgqt has quit [Read error: Connection reset by peer]
capfredf has joined #racket
xgqt has joined #racket
capfredf has quit [Ping timeout: 250 seconds]
Algernon69 has joined #racket
countvajhula has quit [Ping timeout: 240 seconds]
ur5us has quit [Ping timeout: 240 seconds]
ur5us has joined #racket
capfredf has joined #racket
gproto23 has quit [Ping timeout: 250 seconds]
capfredf has quit [Remote host closed the connection]
capfredf has joined #racket
capfredf has quit [Ping timeout: 250 seconds]
Algernon69 has quit [Read error: Network is unreachable]
morte_ has quit [Remote host closed the connection]