On 9 Nov 1997, Thomas Neumann wrote:
> I believe all (define ...) statements must appear first within
> a block and may not be intermixed with other code. If you do,
> the behaviour is undefined. I don't remember if this is defined
> in R4RS somewhere; it's briefly mentioned in SICP.
The proviso is on page 31 in the second edition of SICP in a foot-
note. R4RS is actually even less reassuring:
Section 5.2.2: Internal definitions
Some implementations of Scheme permit definitions to occur
at the beginning of a <body> (that is, the body of a lambda,
let, let*, letrec, or define expression).
To me this suggests that not only must the defines occur at the
beginning, but support for this syntax is not even a requirement.
I know that in beginner mode, DrScheme finds internal defines
offensive, and Keith's original "bug" is flagged in VSCM and
MzScheme as broken syntactically. I've no idea what IEEE says.
--
Christopher Oliver Traverse Communications
Systems Coordinator 223 Grandview Pkwy, Suite 108
oliver_at_traverse.com Traverse City, Michigan, 49684
"You can even make Emacs look just like vi -- but why?" - C. Musciano
Received on Sun Nov 09 1997 - 02:35:49 CET