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