[racket-dev] racket/match is broken
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