[racket-dev] racket/match is broken

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Thu Oct 6 19:59:03 EDT 2011

(And I feel obliged here to suggest that there should be some way to
write test cases for this kind of thing -- ones that are not based on
timing things but ones that are based on feeding some expressions into
a compiler and making sure they get re-ordered in an expected way.)


On Thu, Oct 6, 2011 at 6:22 PM, Sam Tobin-Hochstadt <samth at ccs.neu.edu> wrote:
> That certainly doesn't seem right.  It should prefer the pair check, but
> it's supposed to treat calling embedded expressions as slow.  I'll take a
> look at that.
> On Oct 6, 2011 7:13 PM, "Jay McCarthy" <jay.mccarthy at gmail.com> wrote:
>> Given all this talk of optimization, I'm still amazed that my original
>> example failed. Basically, the ordering optimization decided that
>> (and (pair? (cdr e))
>>       (parse (car (cdr e))))
>> is cheaper than
>> (equal? '+ (car e))
>> Jay
>> --
>> Jay McCarthy <jay at cs.byu.edu>
>> Assistant Professor / Brigham Young University
>> http://faculty.cs.byu.edu/~jay
>> "The glory of God is Intelligence" - D&C 93

Posted on the dev mailing list.