Given the following code, that is accepted by GHC:
data Exist = forall a. Exist a
exist :: Exist
exist = Exist undefined
What type has the 'undefined' ?
So far I assumed that at runtime all objects have a concrete type. This
seems not to be true.
I can also write
data ExistList = forall a. ExistList [a]
exist :: ExistList
exist = ExistList []
where I do not need an 'undefined'.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe