[Haskell-cafe] Why shouldn't variable names be capitalized?
brandonm at yahoo-inc.com
Fri Aug 4 14:15:23 EDT 2006
Martin Percossi wrote:
> Hi, I'm wondering what the rationale was for not allowing capitalized
> variable names (and uncapitalized type names and constructors). I can
> only think of two arguments, and IMHO both of them are bad:
I'm not so sure about variable names and constructors, but the type
syntax just wouldn't work without a lexical distinction between type
names and type variables. Is (Int -> Int) supposed to be polymorphic
with a type variable named "Int", or is it talking about a type "Int"?
Perhaps you'd be happier reserving names beginning with apostrophes for
variables? I think case is a bit easier to see - subattentive visual
processing, and all that.
Mostly, case is used so you know what basic sort of thing some object
is, without reviewing everything in scope. Mathematicians
use typesetting similarly to tell basic kinds of things appart.
Imagine a mathematician complaining that he was forced to learn category
theory to get a degree, and people still don't let him use letter with
an arrow over it to denote a scalar quantity. It's just that ascii is
more restricted, so we don't have things like fonts, greek letters, and
Lexical syntax is the least important kind of linguistic freedom.
More information about the Haskell-Cafe