>>>>> "Brent" == Brent Knight <knight_at_CS.Cornell.EDU> writes:
Brent> (define (bug)
Brent> (let* ( (x 1)
Brent> (x (+ 1 x)) )
Brent> x ))
Brent> In other interpreters (scm, scheme48) I get the expected
Brent> result: 2. I think "let*" bindings are supposed to be
Brent> performed sequentially. But in STk-2.1.7 I get an error:
>From the R4RS (I'm looking at the texinfo version created by Aubrey
Jaffer; I recommend it highly):
- essential syntax: let <bindings> <body>
*Syntax:* <Bindings> should have the form
((<variable 1> <init 1>) ...),
where each <init> is an expression, and <body> should be a
sequence of one or more expressions. It is an error for a
<variable> to appear more than once in the list of variables being
bound.
Note that last sentence. Later on "let*" is said to be "similar to
`let'".
This leads me to believe that STk is correct and the other
implementations you tried are wrong.
Tom
--
tromey_at_drip.colorado.edu Member, League for Programming Freedom
Be regular and orderly in your life like a bourgeois, so that you
may be violent and original in your work
-- Flaubert
Received on Tue Jun 13 1995 - 20:15:01 CEST