[racket-dev] 'case' using equal?

From: Jon Zeppieri (zeppieri at gmail.com)
Date: Sun Nov 25 18:33:25 EST 2012

As a follow-up to the discussion on the users list
I changed 'case' to use equal? comparison.

The diff, including additional tests and a doc change, is at

Performance on Clinger's benchmarks has improved since the last time I
checked, even with the equal? change, so this must be due to unrelated
optimization work.

I did not implement the string optimization I mentioned in the thread
on the users list. It occurred to me that (a) using string->symbol on
the input would allocate if the symbol hadn't already been interned
(which may come as a surprise to the user), and (b) the user probably
ought to expect lexicographic equality tests if he uses strings,


Posted on the dev mailing list.