Fundep/Existential Types in 5.03

Ashley Yakeley ashley@semantic.org
Mon, 8 Apr 2002 02:30:26 -0700


At 2002-04-08 02:15, Simon Peyton-Jones wrote:

>Just leave out the existential in your defn of D!
>The (C a b) in the defn of f will do the job.

I have another example, but this fails in 5.02.2:

  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

Should this compile? It looks meaningful to me.


-- 
Ashley Yakeley, Seattle WA