[racket-dev] racket/match is broken

From: Neil Toronto (neil.toronto at gmail.com)
Date: Thu Oct 6 15:11:04 EDT 2011

On 10/06/2011 12:28 PM, Prabhakar Ragde wrote:
> On 10/6/11 2:12 PM, Eli Barzilay wrote:
>> Sam is talking about building the ASTs *while* matching, which is what
>> Jay was trying to do with uses of `app'. I think that a teaching
>> context is in particular one where such a thing doesn't fit -- it
>> obscures the distinction between the side the sexpr goes into, and the
>> side where an AST comes out.
> Okay, I see the distinction, and I apologize for not having fully
> understood Jay's example. I agree that this obscurity is hazardous. I
> think, though, that I have always assumed left-to-right matching, though
> I may never have constructed anything that would break if it didn't
> happen. --PR

I think most people expect branching constructs like 'match' to make 
in-order (left-to-right/depth-first), short-cutting decisions. 
Additionally, the cases themselves do this. So I think the fact that the 
patterns don't is very surprising.

Neil T

Posted on the dev mailing list.