[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