[plt-scheme] Are macros a programming language?

From: Chongkai Zhu (czhu at cs.utah.edu)
Date: Sun Oct 21 14:07:18 EDT 2007

David Einstein wrote:
> Macro expansion does not look like scheme in many ways.  One that has
> bitten me more than once is that the order of evaluation is different:
> in normal scheme (foo (bar baz))  will call bar and pass the result on
> to foo, while as macros foo will be expanded, and then bar, if it
> remains in the expansion of foo will be expanded.
> One can, like Carl, consider it as an integral subset of scheme, but
> no harm is caused by considering it as a separate language

Remember that Scheme macro comes from Lisp macro: it's just program that 
manipulate code, either as S-exp or as syntax-object. And you are using 
the same *langauge* to manipulate code. IMO, macro is a inseparable part 
of Scheme.


Posted on the users mailing list.