[Haskell-cafe] Re: Fun with multi-parameter type classes
karczma
karczma at info.unicaen.fr
Fri Aug 20 12:27:17 EDT 2004
Henning Thielemann writes:
> On Thu, 19 Aug 2004, Sam Mason wrote:
>
>> class Foo t where
>> encode :: String -> t
>> decode :: t -> String
>>
>> test = decode . encode
>>
>> This currently fails, because the type checker insists on trying
>> to figure out what its type should be - even though it shouldn't
>> be needed.
>
>
> In contrast to that,
>
> test = encode . decode
>
> should not fail. :-)
Rright. The source file:
bz = read . show
is accepted. It even "works":
Ok, modules loaded: Main.
*Main> :t bz
bz :: forall a a1. (Show a1, Read a) => a1 -> a
*Main> bz 8
8
But try to use it for something more exquisite:
*Main> bz 8.23
*** Exception: Prelude.read: no parse
Of course a signature put by hand helps. But then what's
the advantage of classes?
Actually, I would like to know what was the purpose of all
that...
Jerzy Karczmarczuk
More information about the Haskell-Cafe
mailing list