There is the property that once you 'move across the = to the right', the pattern matcher isn't allowed to backtrack and try other patterns any more, which might introduce some funny business. Though, I can't -- at the moment -- come up with a way that it would break anything. -Edward Kmett On Tue, Nov 17, 2009 at 2:20 PM, Doug McIlroy <doug@cs.dartmouth.edu> wrote:
Is there a deep reason (beyond saving a sentence or two in the language definition) for requiring all patterns in a function binding to have the same explicit arity?
For example, in dropWhile0 :: Num a => [a] -> [a] dropWhile0 (0:xs) = dropWhile0 xs dropWhile0 xs = xs why shouldn't the last line be replaceable by dropWhile0 = id _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe