Is it time to start deprecating FunDeps?

Edward Kmett ekmett at gmail.com
Wed May 1 17:26:09 CEST 2013


Er, what I meant was

class Foo s t a b | s -> a, t -> b, s b -> t, t a -> s

That is what I get for dashing it off off the cuff. =)

Then s determines some type argument for it, t determines its type
argument, but Using s and the other type argument I can determine the whole
containing type 't' and vice versa.

instance Foo (Identity a) (Identity b) a b



On Wed, May 1, 2013 at 7:02 AM, Ian Lynagh <ian at well-typed.com> wrote:

> On Tue, Apr 30, 2013 at 11:35:10PM -0400, Edward Kmett wrote:
> >
> > I have dozens of classes of forms like
> >
> > class Wrapped s t a b | a -> s, b -> t, a t -> s, b s -> t
>
> Isn't this equivalent to just
>
>     class Wrapped s t a b | a -> s, b -> t
>
> ?
>
>
> Thanks
> Ian
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-prime/attachments/20130501/6a42e5bd/attachment.htm>


More information about the Haskell-prime mailing list