
Hi, 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: http://www-106.ibm.com/developerworks/library/ws-tip-namingconv.html 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 monad...." 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.