I was going through my library and while scanning through everything something
germane caught my eye. It was from something that Stephen Gilmore of The
University of Edinburgh wrote, namely "Programming in Standard ML '97: A
Tutorial Introduction". A copy can be gotten from the Moscow ML home page. I
feel that he put the matter well. In section 1.2 he writes: "It is ...
perfectly easy to imagine users finding fault with a correct program which has
some missing functionality which they would like."
With this there is also a temptation to screw things up if you have the power
to do so. If may feel democratic, but you won't really be doing anyone a favor.
There is a need to reserve judgment until a comprehensive understanding and
appreciation of the language is achieved. For example, I find it curious that
if-then-else constructs are defined in terms of case-of and not the other way
around. This is conspicuous and so there may be good cause for why it was done
this way. I chose to err on the possibility that the Forefathers of Haskell
knew what they were doing and it is just that I do not yet fully understand the
why. The if-then-else construct as it is defined in other languages is more
general than case-of.
It appears that in Haskell the if-then-else construct though a prominent
feature of many languages has no real significance as Haskell is concerned and
is there solely for convenience. Rather than molesting Haskell to make nice to
those whose delicate sensibilities are offended by how the if-then-else
construct has been formulated it may be best to remove the if-then-else
construct from the language altogether since it appears that the if-then-else
construct was an ad-hoc addition or is a vestigial appendage that serves only
to confuse the reader.
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime