IRC channel logs


back to list of logs

***linas_ is now known as linas
<add^_>Hm, I wonder where I can find where syntax-case is defined in guile's sourcecode.
<add^_>Want to see how it's done..
<amirouche>add^_: it's an amb dispatch over the different cases
<amirouche>of course I'm joking ^^
<add^_>Oh well
<amirouche>I like amb but I don't know how it is pratical to use
<amirouche>oops not the right file actually
<add^_>Well, isn't it better than nothing?
<add^_>I didn't get to read the "entire" file before I said that
<amirouche>I can't find it with a simple grep
<amirouche>what ice-9 means ?
<amirouche>I find it in guile source
<add^_>It's a module with some neat stuff in it, I'm not sure about the name though
<amirouche>like this ./module/ice-9/eval.scm
<amirouche>wikipedia says it's fictional material supposedly a polymorph of water more stable than common ice
<weinholt>to find syntax-case you probably want to look in psyntax
<add^_>Now I just need to find that, I guess I'll use grep..
<add^_>ah, in ice-9
<add^_>No, doesn't seem to be it.
<add^_>Oh, yes.
<mark_weaver>syntax-case is implemented in module/ice-9/psyntax.scm
<mark_weaver>add^_: ^^
<add^_>mark_weaver: Thanks :-)
<mark_weaver>specifically, look for "global-extend 'core 'syntax-case" in that file. on the stable-2.0 branch, it's on line 2330 of psyntax.scm. syntax-case is a primitive of psyntax.
<add^_>Yeah, I found it
<add^_>Ah well, gotta go now. Thanks for replying before I left mark_weaver :-)
<mark_weaver>no prob!
<mark_weaver>sneek: later tell add^_ to understand psyntax, you'll need to read "Syntactic abstraction in Scheme" by R. Kent Dybvig, Robert Hieb, and Carl Bruggeman <>
<sneek>Got it.
***sneek_ is now known as sneek
<amirouche>I can't get geiser working
<amirouche>for instance it cannot jump to definition accross files
<amirouche>what am I missing ?
<amirouche>«the fundamental procedure to react to non-local entry and exits of dynamic contexts is dynamic-wind»
<amirouche>what are non-local entry and exists ?
<davexunit>amirouche: an exception is one example
<amirouche>thread paused by kernel is another example ?
<davexunit>I dunno.
<mark_weaver>more generally, when first-class continuations (or partial continuations) are invoked, that can cause non-local entries and exits.
<mark_weaver>exceptions are a special case. in fact, in guile 2, exceptions are implemented in terms of partial continuations.
<mark_weaver>exceptions can only exit a dynamic context.
<mark_weaver>with continuations, you can not only exit, but later re-enter a context.
<mark_weaver>dynamic-wind allows you to specify handlers that will be run when its dynamic extent is entered or exited.