[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Special form terminology
The following message may be of interest to you:
Date: Wed, 22 May 85 18:25 EDT
From: Allan C. Wechsler <acw@WAIKATO.SCRC.Symbolics.COM>
The line we have taken at Ed. Services is that macros are a subclass of
special operator. The taxonomic tree we have been using looks like
this:
Operators
__________/\_____
| |
Functions Special Operators
____________/\____________
| |
Macros Primitive Special Operators (PSOs)
This way we have a name for each useful subdivision. Also, we need not
distinguish macros from PSOs when it suits us not to. I think that
whether a special operator is a PSO or a macro is often an
implementation detail, which we shouldn't have to document in case we
change our minds.
So when I teach DEFSTRUCT, for example, I say it's a special operator.
The students don't care whether it's primitive or not. They do care
that it does not have function semantics.