[Haskell-cafe] Non-existant existential?
jbapple+haskell-cafe at gmail.com
Thu Sep 21 11:58:50 EDT 2006
Consider the following:
data SimpExist a = SimpExist (forall x . x -> a)
f :: SimpExist Bool
f = SimpExist (const True)
g = SimpExist id
What is the type of g? In a similar example, GHC tells me it is of
type SimpExist c. Yet, I can't unify it with any other SimpExist c'.
It seems to me that this is something like exists x . SimpExist x, and
is similar to:
data ExistWrap = forall a . ExistWrap (forall x . x -> a)
More information about the Haskell-Cafe