An alternative quasi-literal strawman

Mike Samuel mikesamuel at
Wed Dec 30 22:12:45 PST 2009

I received some convincing arguments that the original quasi proposal
fell short as a DSL scheme.  Whether a full-fledged DSL scheme is
desired or not, I don't know, but I read up on scheme macros and put
together an alternative semantics that I hope gets the strengths in
flexibility and performance of scheme macros while preserving the
encapsulation and security goals of SES, and having a syntax that
should be familiar to PHP and perl users.

It is a significantly more complex proposal so I broke the semantics
into three sections: free variable analysis, alpha-renaming, and
hygienic macros, and put together a draft implementation of each.

The alternative proposal is at and that
page links to the two supporting documents.  At the top of each are
links to source code and tests.

Even if the extra complexity is prohibitive, hopefully this
demonstrates that the original proposal can be extended in the future
should DSL support in ecmascript become a desideratum.


More information about the es-discuss mailing list