[r6rs-discuss] Question about "expand time" vs. "execution time"

From: John Cowan <cowan>
Date: Mon, 28 May 2007 01:31:53 -0400

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

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC