[racket-dev] Catching the undefined value

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Sat Apr 19 18:02:32 EDT 2014

On Apr 19, 2014, at 5:57 PM, Sam Tobin-Hochstadt wrote:

> On Sat, Apr 19, 2014 at 4:45 PM, Matthias Felleisen
> <matthias at ccs.neu.edu> wrote:
>> 
>> Morally TR ought to report the type of this x as empty set,
>> which would inform you that the else branch is unreachable:
>> 
>>  (letrec ([x : Integer (if #t 0 x)]) x)
> 
> I don't think that's right -- the else branch is unreachable, but
> that's not a fact about the type of `x` in particular, any more than
> it's a fact about the type of `+` if it was used in the else branch.


Correct! 

Posted on the dev mailing list.