[racket-dev] Catching the undefined value
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!