[Haskell-cafe] Why shouldn't variable names be capitalized?
Brandon Moore
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
accents.
Lexical syntax is the least important kind of linguistic freedom.
Brandon
More information about the Haskell-Cafe
mailing list