There are two places where confusion could arise if you didn't have
the case distinction in Haskell: pattern matching (does a name refer
to a constructor or not) and type expressions (is it a type variable
or not).
In Haskell the distinction is made by case, but this is far from the
only choice. There are other ways to mark what is a variable and
what is not. I don't necessarily think that Haskell did it the best
way, but then this is a minor syntactic issue. Changing the case of
variables is a pretty low price to pay to solve this problem.
-- Lennart
On Aug 4, 2006, at 13:12 , 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:
1. Enforces a naming convention. Fine - but my view is that this
doesn't belong in the language definition (it belongs in the user's
coding standards). I get annoyed, for example, that when I write
code that manipulates matrices and vectors, I can't refer to the
matrices with capital letters as is common in the literature. And
to anyone who says that it's good to enforce naming consistency, I
have this to say: Any language that requires me to learn about
category theory in order to write imperative code should treat me
like an adult when it comes to the naming of variables as well. ;-)
2. It makes it easier to write the compiler. I don't think I need
to explain why this is bad...
I imagine that someone is just itching to "sort me out". Do your
worst! ;-)
Thx
Martin
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe