[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.