The point wasn't to argue the merits of one approach over the other, but to point out that there are two fundamentally different approaches in popular use.
Are you actually arguing that MIT Scheme, Chicken, Chibi, riaxpander and others should have to rewrite their entire macro system? When there's a trivial compromise available? -- Alex On Wed, May 11, 2011 at 8:16 PM, Andy Wingo <[email protected]> wrote: > 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
