Re: Opaque thought experiment
Andre van Tonder 22 Aug 2005 18:24 UTC
On Mon, 22 Aug 2005, Matthias Neubauer wrote:
> How about specifying an interface for scheme syntax instead. Something
> like ...
>
> make-syntax-lambda-expression
> make-syntax-procedure-call
> make-syntax-conditional
> ...
I don't see anything wrong with this, but it would be a different
paradigm. The hygiene algorithm is in fact designed to automate this, and
indeed it uses the equivalent of your suggested constructors internally, as
opposed to traditional Lisp expanders that do not interpret the result of
macro-expansion.
Also keep in mind that the reader cannot interpret the s-expressions it
reads, since the meaning of these s-expressions can become known only during
macro-expansion. The input to macro-expansion therefore can only be some
structure that is homomorphic to an s-expression.
Cheers
Andre