[racket-dev] Catching the undefined value

From: Asumu Takikawa (asumu at ccs.neu.edu)
Date: Tue Apr 15 21:29:28 EDT 2014

On 2014-04-15 18:13:31 -0400, claire alvis wrote:
> The push below includes changes to letrec expressions, internal
> definitions, units, classes, and certain ill-formed shared expressions so
> that they no longer leak the `undefined' value.

This is great! (especially happy that TR, even with classes, doesn't
have to worry about #<undefined> anymore)

BTW, I found this weird behavior:

  Welcome to Racket v6.0.1.3.
  -> (require racket/unsafe/ops)
  -> (let () (+ x 3) (define x 3) 5)
  ; x: variable used before its definition [,bt for context]
  -> (let () (unsafe-fx+ x 3) (define x 3) 5)
  5

Cheers,
Asumu

Posted on the dev mailing list.