Fri Aug 3 14:52:34 CEST 2007
Maybe a bit early since i don't have the old stuff ported yet, but the
main conclusions seem to be:
* name space storage can be kept abstract: it's ok to do part of the
binding at runtime, as long as this behaviour is abstracted
* defining a new language as syntax instead of explicit interpretation
is good, because scheme's scoping stuff carries over: it's possible
to only replace the global name space, but to keep lexical variable
And, macros can be simple, if you stick to syntax-rules. The more
general syntax-case can become very confusing very fast. The most
important thing to remember for syntax-rules is that it is a DIFFERENT
language than scheme! It is normal order (breath-first) instead of
applicative order (depth-first).
So.. time to look into CPS a bit more. There's this SRFI 53 i might
have a look at, but before that, i had a go at rev-k and rev-arg in
seems to work..