Hello Alex, Nice parody :)
On Wed 11 May 2011 13:01, Alex Shinn <[email protected]> writes: > (define-syntax id > (lambda (x use-env mac-env) > x)) > > Triple-arity is the right answer for implementers that want to > experiment with different macro systems, because it presents a uniform, > extensible macro transformer interface -- you have full information > of the expression, its usage environment, and the environment the > macro was originally defined in. Is it though? Can the transformer propagate accurate source information, as PLT's transformer does? (C.f. the point about the insufficiency of weak maps for bare symbols.) As you know in CS there are three special numbers: 0, 1, and N. The issue is that use env and mac-env might not be sufficient; what if you start being interested in syntax properties? Taylor has mentioned systems that might take 5 or 6 arguments. Given this situation, the right thing is to choose to have 1 argument, IMO, and make that one argument extensible in implementation-defined ways. > It also happens to be the underlying implementation used in > most ER macro systems, and WG2 has already voted to > provide ER macros. I realize that this is also a parody of my R6RS argument, but I do not consider to be as substantial. Regards, Andy -- http://wingolog.org/ _______________________________________________ Scheme-reports mailing list [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
