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

Reply via email to