[Haskell-cafe] How Type inference work in presence of Functional Dependencies

2012-09-13 Thread satvik chauhan
Consider the code below : {-# LANGUAGE MultiParamTypeClasses,FlexibleInstances,FunctionalDependencies,UndecidableInstances,FlexibleContexts #-} class Foo a c | a - c instance Foo Int Float f :: (Foo Int a) = Int - a f = undefined Now when I see the inferred type of f in ghci :t f f :: Int -

Re: [Haskell-cafe] How Type inference work in presence of Functional Dependencies

2012-09-13 Thread Erik Hesselink
I don't know if this is a bug or not, but the translation to type families works: class Foo a where type FooT a :: * instance Foo Int where type FooT Int = Float f :: Int - FooT Int f = undefined g :: Int - Float g = undefined h :: Int - FooT Int h = g You don't even need the class