On Sat, May 4, 2013 at 9:46 PM, John Gateley <rac...@jfoo.org> wrote: > > > On 5/4/2013 8:26 PM, Robby Findler wrote: >> Some characters have the equal? implies eq? property (the ASCII ones and >> maybe a few more, I'm not sure) and some don't (#\λ for example). > > > Excellent point, and now I understand your efficiency comment better. > There's a definite parallel between bignums and multi-byte characters.
I disagree. There is a parallel between fixnums and characters, multi-byte or not, because char->integer always returns a fixnum and integer->char is only defined on a subset of the fixnums. However, I don't think this is any kind of knock-down argument in favor of eq?-ness for characters. It's just a nice-to-have. Robby, after looking at the macros in scheme.h, I understand now why it would be a big job. I hadn't realized that all of the unique objects (like null, EOF, void, and so forth) were all represented as pointers to statically allocated structs. So there's a basic assumption that if a value doesn't satisfy SCHEME_INTP(), then it's a pointer. _________________________ Racket Developers list: http://lists.racket-lang.org/dev