[racket-dev] 'case' using equal?

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Sun Nov 25 19:28:28 EST 2012

Did you try to see if there were any case expressions in our test
suites or while building docs or while starting up and fiddling with
DrRacket that would behave differently with equal??


On Sun, Nov 25, 2012 at 5:33 PM, Jon Zeppieri <zeppieri at gmail.com> wrote:
> As a follow-up to the discussion on the users list
> [http://lists.racket-lang.org/users/archive/2012-November/054973.html],
> I changed 'case' to use equal? comparison.
> The diff, including additional tests and a doc change, is at
> [https://github.com/97jaz/racket/commit/731db72e8b9ddcba7b443478666cc278d2a898d0].
> 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,
> anyway.
> -Jon
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev

Posted on the dev mailing list.