[racket] recognizing undefined; shared in TR

From: Jos Koot (jos.koot at telefonica.net)
Date: Tue Sep 6 03:35:59 EDT 2011

Your first pointer says:
'THE constant #<undefined> ...'
Does the particle 'The' not imply that letrec always uses the same (eq?)
constant for initialization?

-----Original Message-----
From: users-bounces at racket-lang.org [mailto:users-bounces at racket-lang.org]
On Behalf Of Danny Yoo
Sent: lunes, 05 de septiembre de 2011 21:09
To: Shriram Krishnamurthi
Cc: users at racket-lang.org
Subject: Re: [racket] recognizing undefined; shared in TR

On Mon, Sep 5, 2011 at 2:18 PM, Shriram Krishnamurthi <sk at cs.brown.edu>
> On Sat, Sep 3, 2011 at 11:17 PM, Shriram Krishnamurthi <sk at cs.brown.edu>
>> Is there a way of checking whether a value position is undefined?
>> Specifically, I'm trying to recognize the undefined value put in
>> structures by SHARED.  It appears that a undefined value is sometimes
>> EQ? to another one, but this doesn't seem to be specified in the
>> documentation (ie, that there is only one undefined value).
> Anyone have any thoughts on this?  Is it okay to use EQ?

According to:


we know the value of undefined is a constant, but there's no guarantee
that they're the same value.

However, I'm certain that undefined is a singleton value, from the
implementation details in:


  For list-related administrative tasks:

Posted on the users mailing list.