Re: [Scheme-reports] [wg2] in support of single-arity procedural syntax transformers Peter Bex (11 May 2011 15:25 UTC)

Re: [Scheme-reports] [wg2] in support of single-arity procedural syntax transformers Peter Bex 11 May 2011 15:25 UTC

On Wed, May 11, 2011 at 12:56:00PM +0100, Alaric Snell-Pym wrote:
> On 05/11/11 12:41, Alex Shinn wrote:
> >
> > 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?
>
> What trivial compromise do you have in mind, Alex?
>
> Mine is that the exact nature of an expander is
> implementation-dependent, and that's what macros like "syntax-rules" et
> al are for: to map from standard forms into the common one. Might not
> even be a closure, although that is an obvious choice?

I think that's the sensible thing to do.  Passing "bare" lambdas
to define-syntax should be deprecated and I don't see why the
behavior when you do this has to be (over)specified at all.

The procedures or syntactic forms er-macro-transformer,
sc-macro-transformer, syntax-case and syntax-rules already
hide the implementation details well enough.

Now, if you want to argue that "er-macro-transformer" should
accept a procedure that accepts one argument instead of three,
I think that's a different discussion.  If this is considered
necessary, please use a different name so that programs using
er-macro-transformer keep working.

Maybe something like syntax-er or er-syntax-transformer (though
the latter might be too confusingly similar)

Cheers,
Peter
--
http://sjamaan.ath.cx
--
"The process of preparing programs for a digital computer
 is especially attractive, not only because it can be economically
 and scientifically rewarding, but also because it can be an aesthetic
 experience much like composing poetry or music."
							-- Donald Knuth

_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports