[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Macros in Dylan



Michael Sperber [Mr. Preprocessor] wrote:
> 
> >>>>> "Eric" == Eric Kidd <eric.kidd@pobox.com> writes:
> 
> Eric> I think there are two major axes of variation in macro systems:
> 
> Eric>   1) Hygienic (Scheme) vs. non-hygienic (LISP).
> Eric>   2) Pattern-based (SYNTAX-RULES) vs. programmatic (Lisp, SYNTAX-CASE).
> 
> Ermh, SYNTAX-CASE is pattern-based *and* programmatic.  

I haven't been able to find a self-sufficient
programmatic (ie, non-pattern-dependent) core to the
syntax-case mechanism, at least one that's available
across all its implementations.  

The PLT set of {define-syntax, datum->syntax-object,
syntax-object->datum, quote-syntax} seems like it could
be it, but it is not standard, and even then I'm
not sure it captures everything.

It should in principle be possible for a
programmatic-macro person to restrict themselves to
this non-pattern programmatic core, and I suspect a
typical syntax-case impl does indeed offer it, but I
haven't been able to isolate it and I haven't
really looked hard.  

If anyone here has, please write.