[Haskell-cafe] Polymorphic algebraic type constructors
Adrian Hey
ahey at iee.org
Tue Jun 22 15:52:36 EDT 2004
On Tuesday 22 Jun 2004 6:20 pm, MR K P SCHUPKE wrote:
> ahh but in this example:
>
> f :: [Int] -> [Bool]
> f (i:is) = even i : f is
> f e@[] = e
>
> e is an empty list of Ints not an empty list of Bools!
If the difference is significant (I don't believe it is)
then consistency demands that this expression should
give a type error..
let e=[] in (length e : e, null e : e)
It doesn't, so clearly e can be both an empty list of
Ints and an empty list of Bools :-)
Regards
--
Adrian Hey
More information about the Haskell-Cafe
mailing list