Andy Wingo <wi...@pobox.com> writes:
>     `lexical'
>           A lexically-bound variable.  The value is a unique token (in
>           the sense of `eq?') identifying this binding.
>
>     `macro'
>           A syntax transformer, either local or global.  The value is
>           the transformer procedure.

Ironically, `syntax-local-binding' renders the current simple
implementation strategy of `the-environment' inadequate, because
identifier-syntax is no longer sufficient to simulate a lexical.

More importantly, this exposing of internal binding representations will
interfere with our ability to change the representations later.

In particular, I was hoping to change the binding representation of
`syntax-rules' macros so that they are serializable.  In particular,
they would be represented by the `syntax-rules' form itself (the same
one that psyntax currently passes to `primitive-eval' to produce the
transformer procedure).  A weak-key hash table would cache the compiled
transformer procedures.

This would allow (the-environment) to capture locally-bound
`syntax-rules' macros.  Unfortunately, `syntax-local-binding', as
currently documented, now makes this impossible.

    Thanks,
      Mark

Reply via email to