[Haskell-cafe] I hate Haskell's typeclasses

Jonathan Cast jonathanccast at fastmail.fm
Sat Apr 19 23:46:29 EDT 2008


On 19 Apr 2008, at 5:02 AM, David MacIver wrote:
> Independently of the rant...
>
> On Sat, Apr 19, 2008 at 6:01 AM, Jonathan Cast
> <jonathanccast at fastmail.fm> wrote:
>>> But why do I need to jump through these hoops for a perfectly safe &
>>> commonly desired operation?
>>>
>>
>>  It's called a proof obligation.  Haskell is not here to stop you  
>> from
>> jumping through hoops.  In fact, it is here precisely to force you  
>> to jump
>> through hoops.  That's why it's called a bondage and discipline  
>> language.
>
> Surely it's there to lovingly assist you through the hoops? You can't
> just force people not to do the wrong thing and expect to get a good
> statically typed language out of it - you have to make it easier for
> them to do the right thing.

I think going through the hoop is paramount in Haskell.  That's why  
Haskell is pure, for example, even though it (still) requires awkward  
code on occasion.  Haskell is certainly designed to make getting  
through the hoops as easy as possible, but never by providing a  
general way around them.  (unsafePerformIO notwithstanding).

jcc



More information about the Haskell-Cafe mailing list