Aubrey Jaffer scripsit:
> Although the motivation for Scheme macros may have been to reduce the
> number of primitive forms, its effect has been the proliferation of
> mutually incomprehensible language dialects, as though R5RS was not
> sufficient in itself for all varieties of programming.
The "Subtract one from data location N and if it becomes zero jump
to program location J" machine is also sufficient in itself for all
varieties of programming.
> Using the same mechanism for Report mandated syntactic forms and user
> macros means that macro-expanding an expression is likely to return a
> bloated, unrecognizable mess. In contrast, macroexpand in CommonLisp
> is useful because it leaves special forms alone, expanding only the
> macros.
Technically yes, but most of the non-procedures defined in Common Lisp
are already macros.
--
Principles. You can't say A is John Cowan <cowan_at_ccil.org>
made of B or vice versa. All mass http://www.ccil.org/~cowan
is interaction. --Richard Feynman
Received on Tue Mar 06 2007 - 13:47:19 UTC