[Haskell-cafe] Deduce problem.
MigMit
miguelimo38 at yandex.ru
Thu Nov 17 05:34:24 CET 2011
You've declared "from" as forall b. Test -> [b], but you're trying to implement it as Test -> H.
On 17 Nov 2011, at 07:48, Magicloud Magiclouds wrote:
> Hi,
> Consider I have declarations like this:
> class (ClassA a) => ClassC a where
> from :: (ClassB b) => a -> [b]
> to :: (ClassB c) => a -> [c]
>
> data H = ...
>
> instance ClassB H where
> ...
>
> data Test = Test { m :: H }
> instance ClassA Test where
> ...
> instance ClassC Test where
> from = m
> to = m
>
> Well, I got "could not deduce" error here at "from = m" and "to =
> m". `c' is a rigid type variable bound by the type signature for to ::
> ClassB c => Test -> [c].
> Referring to some similar questions on internet, I should remove the
> (ClassB c) thing. Is this the only solution?
> --
> 竹密岂妨流水过
> 山高哪阻野云飞
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
More information about the Haskell-Cafe
mailing list