[Haskell-cafe] Line noise
andrewcoppin at btinternet.com
Mon Sep 22 16:53:50 EDT 2008
Ketil Malde wrote:
> The rationale for having long names is that you have too many names,
> and too large a scope to keep track of them all in your head. Needing
> long names is a symptom that your code is too complex, and that you
> should refactor it.
Well, yeah. In Haskell, functions tend to be rather shorter than in
procedural languages, so there's less call for dissambiguation because
there are fewer variables in scope.
> The other problem with "descriptive" names is that it is not
> automatically checked by the compiler, and thus it often ends up being
> misleading. Incorrect documentation is worse than no documentation.
That's true enough.
>> Nobody is going to realise that "[x]" means a list.
> And C is utterly incomprehensible, since from my Pascal background, I
> just *know* that curly braces denote comments. Come on, expecting
> somebody to understand a language without an extremely basic
> understanding of fundamental syntactical constructs is futile.
Point taken. I still think "List x" would have been clearer, but nobody
is going to change the Haskell Report now...
>> well you can see why people are getting lost! ;-)
> Yes, by refusing to adapt to any syntax but the single one they know.
Some people will glance at Haskell and think "hey, that doesn't look
like source code, I can't read that". But given the number of times I've
explained all this stuff, you'd think one or two people would have got
it by now...
>> Only if you can figure out that "Map" means what every other
>> programming language on the face of the Earth calls a
>> "dictionary". (This took me a while!)
> Except for where it is called an "associative array" or "hash table"?
> Terminology is inconsistent, Haskell happens to draw more of it from
> math than from other programming languages.
Heh, let's not argue over technical terms... ;-)
Most people seem far more confused by what a "fold" might be.
More information about the Haskell-Cafe