[Haskell-cafe] A Foldable binary search tree

Brad Larsen brad.larsen at gmail.com
Sun Dec 23 10:38:17 EST 2007


On Sun, 23 Dec 2007 06:42:52 -0500, Neil Mitchell <ndmitchell at gmail.com>  
wrote:

> Hi Brad,
>
>> > Experience has taught me to _never_ put class contexts on data
>> > definitions. Now you can't write something as simple as "Empty" - you
>> > have to give it a class context. This is just plain annoying.
>>
>> With the class context in the BST definition, ghc gives no complaints  
>> when
>> I evaluate "Empty":
>
> In some circumstances, you need to give a type sig. For example using  
> Hugs:
>
> Main> Empty
> ERROR - Cannot find "show" function for:
> *** Expression : Empty
> *** Of type    : BST a
>
> I guess GHC has enough defaulting to display this anyway.

Sorry, forgot to mention that my BST derives Show.

> You'll also have the dreaded-evil-horrid monomorhpism restriction if you  
> type.
>
> empty = Empty
>
> Thanks
>
> Neil

More stuff for me to read about :-)

Brad




More information about the Haskell-Cafe mailing list