[Haskell-cafe] All equations must have the same arity - why?

Neil Mitchell ndmitchell at gmail.com
Sun Jan 13 18:12:52 EST 2008


Hi,

It's nice to write functions in point free style:

f = sort . nub

But sometimes I have to add an extra case, on a certain value:

f [] = [1]
f = sort . nub

But now these equations have different arities, and its rejected by
Haskell. Why does this not simply desugar to:

f [] = [1]
f x = (sort . nub) x

i.e. lift the arities to the longest argument list.

Is there a reason this isn't done?

Thanks

Neil


More information about the Haskell-Cafe mailing list