Re: "let*" bug?

From: Tom Tromey <tromey_at_hemlock.Colorado.EDU>
Date: Tue, 13 Jun 95 12:14:30 MDT

>>>>> "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

This archive was generated by hypermail 2.3.0 : Mon Jul 21 2014 - 19:38:59 CEST