On Tue, 2004-03-30 at 18:01, S. Alexander Jacobson wrote:
> Thanks for the ~ syntax, but my question is really
> why you need it?  What benefit do you get from
> "refutable patterns"?
> 
> Alternatively, would anything break if a future
> Haskell just treated all patterns as irrefutable?

A short pragmatic answer is that "refutable patterns" are stricter and
so more efficient. 

(Oops, I've fallen into the C programmers trap of justifying things by
efficiency first and thinking later)

How about justifying it by saying that they translate directly into case
expressions without any extra let, and so are easier to think about that
way.

Or finally, the "it's what you want most often" argument. For example
out of the whole Prelude+List modules, the only functions that use
irrefutable patterns are the unzip functions.

Duncan

_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to