[Haskell-cafe] Comments from OCaml Hacker Brian Hurt

Paul Moore p.f.moore at gmail.com
Thu Jan 15 13:04:24 EST 2009


2009/1/15 Lennart Augustsson <lennart at augustsson.net>:
> Why do people think that you should be able to understand everything
> without ever looking things up?

Understand, no, but "have an intuition about", very definitely yes. In
mathematics (and I speak as someone with a mathematical degree, so if
I caricature anyone, please excuse it as failing memory rather than
intent!!!) there's a tendency to invent terminology, rather than use
natural names, because new names don't have unwanted connotations -
it's the need for precision driving things. In programming, the need
is for *communication* and as such, using words with natural - if
imprecise, and occasionally even (slightly) wrong - connotations is
extremely helpful.

> I'll get back to my example from the comment on the blog post.  If I
> see 'ghee' in a cook book I'll check what it is (if I don't know).

If a significant proportion of words require me to look them up, my
flow of understanding is lost and I'll either give up, end up with a
muddled impression, or take far longer to understand than the recipe
merits (and so, I'll probably not use that cook book again).

> I'm not saying Haskell always gets naming right, all I want is to
> reuse words that exist instead of inventing new ones.

But you seem to be insisting that mathematical terminology is the
place to reuse from - whereas, in fact, computing might be a better
basis (although computing doesn't insist on the precision that maths
needs, so in any "that's not precisely what I mean" argument,
non-mathematical terminology starts off an a disadvantage, even though
absolute precision may not be the key requirement).

> (And 'monoid' is not category theory, it's very basic (abstract) algebra.)

Well, I did a MSc course in mathematics, mostly pure maths including
algebra, set theory and similar areas, and I never came across the
term. Of course, my degree was 25 years ago, so maybe "monoid" is a
term that wasn't invented then ;-))

> I don't
> know any category theory, but if someone tells me that blah is an
> endomorphism I'm happy to call it that, knowing that I have a name
> that anyone can figure out with just a little effort.

But unless you invest time researching, you can't draw any conclusions
from that. If someone tells you it's a mapping, you can infer that it
probably "maps" some things to one another, which gives you a
(minimal, imprecise, and possibly wrong in some corner cases, but
nevertheless useful) indication of what's going on.

Mathematical precision isn't appropriate in all disciplines.

Paul.


More information about the Haskell-Cafe mailing list