Subject: Re: Are macros really a neccessity, or a coverup of language  deficiencies?
From: Erik Naggum <>
Date: 2000/04/27
Newsgroups: comp.lang.lisp
Message-ID: <>

* Peaker <>
| Language extension is a reasonable use for such a facility, however,
| the problem is, that a common use of macros is not only to extend
| the language and its syntax, but also to extend the program model.

  where do you draw the line between the two?  I suspect you have an
  artificial view of which is which.

| Drawing the line between the program model and the language itself,
| is not as easy as it may seem, given that function calls are very
| syntatically close to special forms or macro forms.

  right.  that's the beauty of the Lisp syntax.

| What may seem as an extension of the language itself, under one
| definition ('if', for example), would seem as the extension of the
| program or object model under another ('if' being a method of a
| 'Boolean' object).

  yes.  isn't it great?  language design paradigms come in many
  flavors that you can actually choose from.  Common Lisp has chosen
  some of them.  you seem to be unhappy with the paradigms that those
  who like Common Lisp favor the most.

| Therefore, I would appriciate some small examples of language
| extensions that are NOT possible to implement as an object-model
| extension, using, for example, SmallTalk.

  you want examples of language extension in language X that aren't
  possible in language Y?  really.  this is _ridiculous_ on its face.

| I would suggest a small change to the macro system, that in my
| oppinion, would make it more elegant: ...

  really?  well, it's been tried.  it was a bad idea.

  first grok, then suggest.  that's general advice.