[Haskell-cafe] Default implementation of type class member function not working as expected.

David Banas capn.freako at gmail.com
Wed May 21 13:12:52 UTC 2014

That worked, Brandon; thanks!

Gurus, I’d still love to understand exactly what I broke, trying to do it the other way. Any thoughts?


On May 21, 2014, at 12:14 AM, haskell-cafe-request at haskell.org wrote:

> if there's only one definition, then define it
> *outside* the typeclass.

>> I have a typeclass, which defines the following two member functions:
>> (t is a Rose Tree.)
>>    getCompNodes   :: t -> [CompNode a]
>>    getAllCompNodes :: t -> [CompNode a]
>>    getAllCompNodes t = getCompNodes t
>>                     ++ (concatMap getAllCompNodes (subForest t))

>> The first one must be defined uniquely by each instance, but the second
>> never needs a unique definition.
>> So, I provided its implementation in the typeclass definition, as shown.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20140521/ed28a0d9/attachment.html>

More information about the Haskell-Cafe mailing list