[racket] #<undefined> and backward compatibility

From: Jos Koot (jos.koot at gmail.com)
Date: Sat Apr 19 15:19:48 EDT 2014

Hi Matthew
Yes, I have (define undefined (letrec ((x x)) x)) in some of my programs.
No, the backward incompatibility would not hurt me.
A few simple changes in my code would be sufficient,
I would not need the `racket/undefined` library.
I could replace (letrec ((x x)) x)) by
(let () (struct undefined ()) (undefined)).
Even better for not confusing intentional undefined with unintended
undefined.
AFAIAC: go ahead!
Jos


> -----Original Message-----
> From: users [mailto:users-bounces at racket-lang.org] On Behalf in some of my
programs.
> Of Matthew Flatt
> Sent: viernes, 18 de abril de 2014 15:55
> To: users at racket-lang.org
> Subject: [racket] #<undefined> and backward compatibility
> 
> This message is about an experiment that would improve Racket 
> but introduce a backward incompatibility. We'd like more 
> information about how the change affects your code (see 
> questions at the end).
> 
> Undefined
> ---------
> 
snip
> 
> To make a decision, we need more input:
> 
>  * Does the change affect your programs?
> 
>    You can try a development snapshot from either of the sites listed
>    here:
> 
>        http://pre.racket-lang.org/
> 
>  * Is this kind of backward incompatibility ok?
> 
>    We'll base a decision on how the experiment turns out, but
>    especially if the experiment goes well, a clear mandate from the
>    Racket community would seal the deal.
> 
> Thanks!
> 
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users


Posted on the users mailing list.