[Haskell-cafe] looking for examples of non-full Functional Dependencies

Ryan Ingram ryani.spam at gmail.com
Wed Apr 16 19:00:36 EDT 2008


I'm still confused about this point:

On 4/16/08, Dan Weston <westondan at imageworks.com> wrote:
> > >  class C a b c | c -> a b
> > >
> > >  Notice that there are multiple (two) parameters in the range of the FD.
> > >
> > >  It's tempting to convert the above to
> > >
> > >  class C a b c | c -> a, c -> b
> > >
> > >  but this yields a weaker (in terms of type improvement) system.

In both cases the statement is that given a type x, the instance C x y
z for some y,z and the constraint C x a b, we unambiguously have a ~
y, b ~ z (where ~ is type equality)

How does the order in (c -> a b) matter?

  -- ryan


More information about the Haskell-Cafe mailing list