Fundep/Existential Types in 5.03
Ashley Yakeley
ashley@semantic.org
Tue, 9 Apr 2002 20:32:20 -0700
At 2002-04-09 20:02, I wrote:
>Does anyone even know of a workaround? Given this, find an implementation
>of 'f' that retrieves the contents of its 'D' argument:
>
> class C a b | a -> b
>
> data D a = forall b. (C a b) => MkD b
>
> f :: (C a b) => D a -> b
> -- f (MkD b) = b won't compile
>
>It's very annoying if it can't be done.
Oh, I suppose I can always do this:
data D a b = MkD b
...so perhaps in all fairness it's not quite so annoying.
--
Ashley Yakeley, Seattle WA