On Jan 14, 2010, at 8:38 PM, Andrew Coppin wrote:
Martijn van Steenbergen wrote:
Niklas Broberg wrote:
21 actually. case, class, data, default, deriving, do, else, if,
import, in, infix, infixl, infixr, instance, let, module, newtype,
of,
then, type, where. There's also three special words that can still
be
used as identifiers, so aren't reserved: as, qualified, hiding.
Since you can define operators in Haskell, would it make sense to
include '=', '--', ':', ',' etc. as "reserved names" since those
can't be used as operator names?
Makes sense to me...
It's merely more difficult to catelogue this information for a half-
dozen different languages. Looking up the reserved word list is
usually only a Google search away.
Somebody suggested to me that the best metric for "how difficult" a
language is to learn is "the number of orthogonal concepts you need
to learn". Of course, measuring THAT is going to be no picknick!
I do not think so. More orthogonal concepts may make it more work to
learn the language, but I think
orthogonality helps to learn a language that has many concepts.
For me, a major problem when learning a language is ad-hocness.
The Java Language Specification part on Generics (parametric
polymorphism) comes to mind.
It is full of ad-hoc restrictions, and operational details. Haskell's
polymorphism behaves much
more predictably because it is much less ad-hoc.
Although I do not have any Python programming experience, I got the
impression that
Python is very un-ad-hoc. Everything behaves in exactly the same way
at all possible
levels in the language. You need to master only one idea and it
applies everywhere.
Even if the way it behaves is strange.
Jurriaan
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe