On Wed, Oct 5, 2011 at 5:13 PM, Jay McCarthy <jay.mccar...@gmail.com> wrote:
>
> Basically, it calls the app function on the second element of the list
> even though the head of the list has failed to pattern match.

This is not a bug.  `match' makes no guarantee about the order in
which it checks elements of the pattern.  If it were to try to support
this kind of use case, it would have to specify how many times it
would call each function that might be embedded in a match, which
requires a detailed semantics of backtracking in the matcher, and lock
in a particular implementation.

I will clarify the documentation to say that you shouldn't use
functions that aren't safe to call 0, 1, or more times, in various
orders, inside `match' patterns.
-- 
sam th
sa...@ccs.neu.edu
_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Reply via email to