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

Reply via email to