[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Your message doesn't contradict my quoted claim:
... I practically never see a legitimate use of a macro by anyone
other than a language designer.
You WERE being a language designer/implementor - you were designing an
embedded implementation of Icon.
I also use macros when I'm playing with new languages, or trying to run
code in multiple Lisp implementations. The main reason I write macros
instead of file transducers is so that the embedded language fits in
neatly with all the user interface tools developed for use with the
native Lisp: LOAD, the read-eval-print loop, editor interfaces, and
I guess I don't see this technique as a case where one extends the
syntax of the underlying language; really a new language is being
invented. It would be nice to have multi-lingual user interfaces, so
that one needn't write macros and pollute the underlying environment just
in order to make it as easy to use the new language as it is to use the
old. By not writing a file transducer, you weren't just being lazy; you
were being modular. I'd like to have a better programming interface to
the user interface than the macro chainsaw.