At 19:41 +1200 1999/05/20, Brian Boutel wrote:
>Haskell is a general purpose language. It is not a specialised language for
>doing mathematics. It should not be
>a language that can only be written and understood by specialist experts.
>If we believe that functional languages
>are superior and want them adopted widely, we must ensure that they are
>attractive to and usable by people in the computer industry.
This statement contains a misconception, namely if a language is made of
features used by many, the result will be a good, structured, general
purpose language. Instead what happens is a mishmash language filled with
highly specialized features. A language suitable for a series of highly
specialized applications, which together can satisfy the immediate needs of
a large number of people.
It happened to C++, and I gather, Haskell is on the same path. The good
thing is that for while, one gets a language that can do the job in a
series of highly specialized applications, but on the same this dinosaur
approach paves the way for the death of the language.
The role of mathematics is of course not to provide specialization, but
generality:
A quick look at Haskell reveals it suffers the same problem as all current
computer languages, namely a corny syntax, making it wholly impossible to
develop any mathematical concepts with the subtle interplay between
notation and notions needed in mathematics. To this the lack of ability to
develop abstractions.
I gather we will have to await a couple of generations of computer
languages, before one can expect such issues be dealt with properly. But
then one might see a truly "general purpose" language, where the programmer
picks specializations of general features, instead of from a junkyard of
specialized features.
Hans Aberg
* Email: Hans Aberg <mailto:[EMAIL PROTECTED]>
* Home Page: <http://www.matematik.su.se/~haberg/>
* AMS member listing: <http://www.ams.org/cml/>