[Haskell-cafe] Ambiguous type signature in class declaration
Benjamin Franksen
benjamin.franksen at bessy.de
Wed Apr 27 18:17:24 EDT 2005
On Wednesday 27 April 2005 22:12, Benjamin Franksen wrote:
> Another trick is to split the class:
>
> class Countable a where
> count :: a -> Maybe Integer -- Nothing means infinity
>
> class Countable a => CRank a b where
> rank :: ...
> ...
This solution has similar disadvantages as the fundep variant, that is, there
can be only one instance for 'Countable Prime' and not two different ones
(like an infinite count for Integer Primes and a finite one for Ints). In
fact, this seems to be a standard way to achieve the effect of fundeps
without actually using them (although I have read somewhere that it doesn't
work in all cases).
Ben
More information about the Haskell-Cafe
mailing list