| Ah yes, silly me. What I had in mind, I suppose, was
| something more along the lines of:
|
| foo :: Double -> (exists q . Foo q => q)
Correct. Currently you can only express this by wrapping
the existential in a constructor:
data R = forall q. Foo q => MkR q
foo :: Double -> R
Mark Shields and I wrote a paper about doing more fully
fledged existentials, but it's quite a significant chunk of
work to implement.
http://research.microsoft.com/~simonpj/Papers/first-class-modules
Simon
_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell