[pypy-dev] scheme interpreter [status report]
jgustak at gmail.com
Thu Jul 26 19:37:59 CEST 2007
Some more info.
> We have working simple macros. They are hygienic and referentially transparent.
r5rs states that if macro introduces new binding, it should be renamed
to avoid conflicts with other identifiers. In our case we create
syntactic closure like described in:
ExecutionContext.sput() (creating new binding) checks if it deals with
syntactic closure or not, and depending on that binds location in
W_Transformer can be called with quoted expression as argument, then
appropriate template will expand and then expanded expression will be
This way of evaluation will surely cause problems with recursive
macros, so it is not recommended.
More information about the Pypy-dev