R. Kent Dybvig scripsit:
> Actually, the point is that they permit one to deal sensibly with lexical
> scoping at the source level. This not only simplifies the coding of many
> macros but also allows the definition of others that cannot be written
> with defmacro. For example, one can use syntax-rules and syntax-case to
> write macros that perform arbitrary code motion (e.g., define-integrable)
> without breaking lexical scope.
I'm no expert on the subject and you are, but I don't see how
there can be anything that define-macro cannot do, since it applies
a Turing-complete language to arbitrarily large parts of the
program.
> In fact, syntax-case is strictly more expressive than the old-style Lisp
> macros represented by defmacro. The lisp-transformer on page 54 of the
> library document shows how syntax-case can be used (trivially) to write
> old-style Lisp macros. Defmacro itself is easily defined using
> lisp-transformer.
It sounds like they are equivalent in power, then.
--
In politics, obedience and support John Cowan <cowan at ccil.org>
are the same thing. --Hannah Arendt http://www.ccil.org/~cowan
Received on Tue May 29 2007 - 03:04:32 UTC