[Haskell-cafe] On the purity of Haskell

Steve Horne sh006d3592 at blueyonder.co.uk
Fri Dec 30 22:10:34 CET 2011


On 30/12/2011 10:47, Bardur Arantsson wrote:
> On 12/29/2011 11:06 PM, Steve Horne wrote:
>> Using similar mixed definitions to conclude that every C program is full
>> of bugs (basically equating intentional effects with side-effects, then
>> equating side-effects with unintentional bugs) is a fairly common thing
>> in my experience, but it's a logical fallacy. If you aren't aware of the
>> two definitions of side-effect, it's hard to get deal with that.
>>
>> Some people don't want anyone to figure out the fallacy - they like
>> having this convenient way to attack C, irrespective of whether it's
>> valid or not. Rare I think - mostly it's more confusion and memetics.
>> But still, I'm convinced there's some sophistry in this. And I'm not the
>> only person to think so, and to have reacted against that in the past.
>>
>> Extra sad - you don't need that fallacy to attack C. It's redundant. C
>> is quite happy to demonstrate its many failings.
>
> That's the flimsiest straw man I've ever seen.
>
Calling it a straw man won't convince anyone who has the scars from 
being attacked by those "straw men".

I've been in those arguments, being told that C has side-effects 
therefore all C programs are full of bugs, whereas Haskell can't have 
similar bugs because it doesn't have side-effects.

I'm really not interested in whose-side-are-you-on arguments. Trying to 
keep the two definitions separate is relevant, and that was my 
motivation for saying this - it's a fact that if you mix your 
definitions up enough you can "prove" anything.

I like C++. I recognise the flaws in C++, as every everyday-user of the 
language must. Pretending they don't exist doesn't solve the issues - 
it's for OTT advocates, not developers. I don't insist that every 
virtuous-sounding term must apply to C++. I don't pretend every C++ 
advocate is an angel.

I like Haskell. I can't claim to be an everyday user, but I'm learning 
more and using it more all the time. I'm still uncertain whether some 
flaws I see are real - some that I used to see weren't - but I'll 
address that over time by thinking and debating. I won't pretend every 
Haskell advocate is an angel.

I've already confessed to being in the anti-Haskell role in arguments 
where the points I, ahem, emphatically made were (I now recognise) 
fallacious. So I won't even pretend I'm an angel.

If someone who was on the other side in one of my rants makes this same 
keep-your-definitions-straight point while acting as a C advocate, is 
that also a straw-man?




More information about the Haskell-Cafe mailing list