[Haskell-cafe] conflicting variable definitions in pattern

Martin Hofmann martin.hofmann at uni-bamberg.de
Fri May 15 04:09:09 EDT 2009

It is pretty clear, that the following is not a valid Haskell pattern:

foo (x:x:xs) = x:xs

My questions is _why_ this is not allowed. IMHO, the semantics should be
clear: The pattern is expected to succeed, iff 'x' is each time bound to
the same term. 

Isn't this allowed, because this would require a strict evaluation of
the 'x' variables?



More information about the Haskell-Cafe mailing list