Dan Piponi wrote:
On Mon, Jan 19, 2009 at 11:33 AM, Andrew Coppin
My only problem with it is that it's called Bool, while every other
programming language on Earth calls it Boolean. (Or at least, the languages
that *have* a name for it...)
Versus Java, Pascal, Smalltalk and Eiffel who all call it Boolean. Oh
well. At least it's pretty obvious what it means.
But I'm far more perturbed by names like Eq, Ord, Num, Ix (??), and so on.
The worst thing about C is the unecessary abbriviations; let's not copy
They're short so they're quick to parse (for a human) and read.
They're easy to type. If you have a constraint like (Eq a,Num a,Ord
a,Show a,Ix a) you can see all five type classes at a single glance
without having to scan your eye across the line. They're highly
mnemonic in the sense that once I'd learnt what they meant it became
hard to forget them again. What exactly is wrong with them?
Would it really hurt to type a few more keystrokes and say "Equal"?
"Ordered"? "Index"? I don't think so.
Sure, we don't especially want to end up with classes like
StrictlyOrderedAssociativeSet or something, but a few more characters
wouldn't exactly kill you.
But, again, this is too difficult to change now, so we're stuck with it.
PS. Ord implies Eq, so you don't need both in the same constraint. Num
implies Show, so you don't need that either. So actually, (Ord a, Num a,
Ix a) - or rather, (Ordered a, Number a, Index a) - would do just fine.
Haskell-Cafe mailing list