[R6RS] library and transformer phases

Michael Sperber sperber at informatik.uni-tuebingen.de
Mon Jul 10 13:19:58 EDT 2006


dyb at cs.indiana.edu writes:

> With Model 1, none of these problems arise; the syntax, semantics,
> and implementation are all simpler.  The downside of Model 1 is that
> run-time code might count, perhaps unintentionally, on side effects
> caused by expand-time code to the internal state of a library,
> thereby making it more difficult to compile the code separately at
> some future point.

Also, you run into the semantic problems explained in Matthew's paper,
no?

Would an implementation be allowed to throw away the expand-time
state?

It seems that with Model 1, things need to be specified in a way that
it's an error if run-time code refers to the state left behind by
expand-time code.  It seems even messier if there expand-time state of
one module depends on expand-time state of another module---you could
write a module that can observe compilation/expansion order, for
example.

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla



More information about the R6RS mailing list