[Haskell-cafe] Haskell Naming Conventions ?

Koray Can koraycan at fastmail.us
Wed Sep 1 02:37:55 EDT 2004


I am new to haskell. One of the things that struck me odd from the very 
beginning was the names of things.

At my workplace (where we use imperative languages), we abide by 
standards such as this:

Such conventions are debatable, but I believe some of them are worthy of 
applying. "ShowS" and "shows" do not have the same type, I know, but I 
read them as the same word. Similarly, fractional is "Fractional", but 
numeric is just "Num". There are "seq", "sequence" and "sequence_", etc.

In The Gentle Introduction to Haskell, the author states:
"...We use the term /error/ for /_|_/: a condition which cannot be 
recovered from such as non-termination or pattern match failure. 
Exceptions, on the other hand, can be caught and handled within the I/O 

Then he goes on to say that the data type's name is IOError (not 
IOException, as I was expecting.)

I can imagine once one gets used to them, they don't pose any problems. 
Nevertheless, while I still learn, these names are quite awkward for me 
to read and talk about haskell.

I searched the mailing list archives for a similar discussion, but I 
couldn't fine one. Is there a reason why things are named in such a way 
that conflicts with what's being followed for other languages ?

Thanks for your replies.

More information about the Haskell-Cafe mailing list