Brian C. Barnes scripsit:
> Ok, so I think I understand the "how" part of this. I still don't
> get the "why" part. Is there an advantage to defining "expand time"
> vs. "run time" this way? It seems somewhat restrictive, since,
> apparently, any binding that is defined as a define-syntax is not a
> first-class procedure. In my implementation, I have "not" defined with
> "define-syntax" but there are a few test programs that want to pass
> "not" around as an argument. Is there a list of "these things must not
> be defined as define-syntax things because they need to be first-class
> procedures"?
The things marked "syntax" on the right-hand edge of the column are either
primitive syntax (like "if") or must be defined by define-syntax or
some non-portable equivalent. The things marked "procedure" on the
right-hand edge are procedures. Thus "not" must be defined as a
procedure, whereas "and" and "or" must be defined as syntax.
--
In politics, obedience and support John Cowan <cowan at ccil.org>
are the same thing. --Hannah Arendt http://www.ccil.org/~cowan
Received on Mon May 28 2007 - 01:31:53 UTC