On Fri, Jun 8, 2012 at 11:42 AM, Jens Axel Søgaard <[email protected]> wrote: > > When > > (let ([x 1]) > (cond > [(= x 1) > (define u 2) > (+ u 1)] > [else u])) > > is pasted into the interaction window, I get 3 ! > > I was expecting an error.
This is the same behavior as: -> (if #f x 1) 1 What's happening is that `#%top` behaves differently at the REPL than in a module. This enables you to write: -> (define (even? x) (or (zero? x) (odd? (sub1 x)))) -> (define (odd? x) (or (= x 1) (even? (sub1 x)))) without getting an error when entering the first line. -- sam th [email protected] ____________________ Racket Users list: http://lists.racket-lang.org/users

