[Haskell-cafe] I hate Haskell's typeclasses

Jonathan Cast jonathanccast at fastmail.fm
Sun Apr 20 11:07:42 EDT 2008


On 20 Apr 2008, at 3:05 AM, David MacIver wrote:
> On Sun, Apr 20, 2008 at 4:46 AM, Jonathan Cast
> <jonathanccast at fastmail.fm> wrote:
>>
>> 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).
>
> Sure. I'm just saying, it's more of a "Jump through this hoop and you
> shall have moist, delicious cake. And by the way, here's a leg up" set
> up. There are rewards for the hoop jumping, and assistance on the way
> there (which is more than can be said for a lot of languages which
> make you jump through hoops) :-)

Absolutely.  But I think the original rant strayed into the realm of  
wanting the cake and the leg up /without/ the hoop.
>
> I think I might be stretching the analogy slightly.

There is nothing the least bit wrong with that.

jcc



More information about the Haskell-Cafe mailing list