Not in any systematic way, no. When I first implemented the triple-dispatch case, I did look through the racket sources to see how case was actually used there. It turned out that almost all of the uses were small, simple, and, for lack of a better word, monomorphic.
Looking back at the users thread, I see what you mean. I'll create a branch that will do what you suggest: evaluate the expression both ways, compare, and complain if the results differ. On Sun, Nov 25, 2012 at 7:28 PM, Robby Findler <ro...@eecs.northwestern.edu> wrote: > 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?? > > Robby > > On Sun, Nov 25, 2012 at 5:33 PM, Jon Zeppieri <zeppi...@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 _________________________ Racket Developers list: http://lists.racket-lang.org/dev