[Haskell-cafe] Cal, Clojure, Groovy, Haskell, OCaml, etc.
ketil at malde.org
Thu Oct 1 03:36:03 EDT 2009
namekuseijin <namekuseijin at gmail.com> writes:
> Point is: >>= . $ : ! `` and meaningful whitespace are all nice
> shortcuts, but also hairy confusing...
As somebody pointed out, these are rather idiomatic, and only confusing
to beginners. (I'm not sure what you refer to with whitespace, some
think layout makes code difficult to write, but I don't think it hurts
legibility? If you refer to extension that makes 'x?y' and 'x ? y' mean
different things, then I agree: that way lies madness.)
I agree it's usually better to use real names, but one problem with many
operators (and Haskell functions in general) is their extreme
generality. For instance, the >>= cominator is usually pronounced
'bind'. Does this really help?
exp1 >>= exp2
vs exp1 `bind` exp2
or even bind exp1 exp2
In some cases where names are used, it just increases confusion,
e.g. the Monoid function 'mappend' is nice for concatenating two lists,
but a rather odd name for mulitplying two integers.
If I haven't seen further, it is by standing in the footprints of giants
More information about the Haskell-Cafe