On the Meaning of Haskell 5

John D. Earle JohnDEarle at cox.net
Mon Nov 30 02:56:01 EST 2009


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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-prime/attachments/20091130/0328d527/attachment-0001.html


More information about the Haskell-prime mailing list