[erlang-questions] In what order are pattern matching clauses evaluated?

Seth Warn seth.warn@REDACTED
Tue Feb 20 02:22:38 CET 2007


I wish I had looked at that code twice before posting, I wasn't
thinking about the guard.  In any case, I'm still curious about the
clause reordering mentioned in the referenced post.

Seth Warn
University of Kansas
seth.warn@REDACTED
warn@REDACTED

On 2/19/07, Seth Warn <seth.warn@REDACTED> wrote:
> Hello,
>
> While trying out Erlang, I noticed the following factorial function works:
>
> fac(N) when N > 0 ->
>     N * fac(N-1);
> fac(0) -> 1.
>
> "Ah ha," I said, "the pattern matching is not strictly top-down."  Is
> there a resource somewhere that describes how the clauses may/will be
> rearranged?  Searching the archive, the closest thing I found was this
> post, which says that the clauses will be grouped by type:
>
> http://www.erlang.org/pipermail/erlang-questions/2000-May/001267.html
>
> Thanks,
>
> Seth Warn
> University of Kansas
> seth.warn@REDACTED
> warn@REDACTED
>



More information about the erlang-questions mailing list