[Haskell-cafe] Why shouldn't variable names be capitalized?

John Meacham john at repetae.net
Fri Aug 4 18:45:08 EDT 2006

Haskell very specifically has the really vitally important property that
when you change the imports of a module in any way whatsoever, only one
of two possible results can occur

1) the module behaves identically to the way it did before.
2) the module fails to compile with an unambiguous compile-time error.

This is a very important property that I wouldn't be willing to give up. 

also, it is nice for a human to not have to know what is imported to be
able to locally determine what a function does to some degree. this
would not be possible if you couldn't tell what was a constructor and
what was a variable locally. heck, you can't even tell what is being
defined. think of

x + y * z = ...

this could be declaring three top level names, x,y, and z  or the
function (+) or perhaps even just y and x and not z (or even a couple
more possibilities) depending on which were constructors and which were
variable names which you cannot determine without examining every
import. not even being able to tell what values an expression is
defining is a pretty bad quality :)


John Meacham - ⑆repetae.net⑆john⑈

More information about the Haskell-Cafe mailing list