
On 7/10/06, Bayley, Alistair
From: haskell-cafe-bounces@haskell.org [mailto:haskell-cafe-bounces@haskell.org] On Behalf Of Spencer Janssen
The problem isn't with lists specifically, but with any instance that applies types (rather than type variables) to a type constructor
From section 4.3.2 of The Haskell 98 Report: "The type (T u1 ... uk) must take the form of a type constructor T applied to simple type variables u1, ... uk". I've run into this restriction several times myself, and I'm also curious whether this will change in Haskell'.
Spencer Janssen
Sorry, I'm struggling with this. Why is [] not of the form (T a b c ...) ?
I assume that [] is syntactic sugar for something like:
data List a = Cons a | Nil ===>? data [a] = (:) a | []
so [Double] is just sugar for List Double, which appears to me to be of the form (T a b c ...).
What subtlety am I missing?
Double is not a type variable. /S -- Sebastian Sylvan +46(0)736-818655 UIN: 44640862