On Sep 14, John Cowan wrote:
> Eli Barzilay scripsit:
>
> > IMO, the conceptual jump from `defmacro' to hygienic macros is similar
> > in magnitude to the jump from CPP to `defmacro'.
>
> In magnitude, but not in direction.
In *both*. (I did label it as "IMO"...)
> From CPP to defmacro is from high-level dirty macros to low-level
> dirty macros. From there to syntactic closures or explicit renaming
> is from low-level dirty macros to low-level hygienic macros. From
> there to syntax-rules is from low-level hygienic macros to
> high-level hygienic macros.
IMO (again...) you get:
* CPP is dealing with raw text
* `defmacro' adds more information: it's working with AST structures
(s-expressions)
* hygienic macros add more information still: the lexical scope
This is orthogonal to what's known in Scheme as low-level vs
high-level. It's probably not too difficult to make a rewriting
system based on `defmacro' (and IIRC, there are such things).
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss