
On Sat, 30 Sep 2006 jerzy.karczmarczuk@info.unicaen.fr wrote:
Tamas K Papp writes:
In my experience, most people use CAS interactively: they encounter an integral or a PDE that's difficult to solve, so they type it into Mathematica (which frequently cannot solve it either, then you go crazy, numerical, or both ;-). It is more like a sophisticated symbolic calculator with a lot of patterns built in for manipulating expressions.
I should have reacted earlier... Please don't exaggerate with *opposing* CAS and Haskell, Prolog, or other *universal* languages. CAS such as Maple, Mupad, and also Mathematica in a sense are also universal, but they simply have
* enormous libraries permitting to deal with symbolic expressions ; * Pattern matching/rewriting contraptions useful to manipulate deeply intricate structures.
All this CAN BE DONE in Haskell as well, but reinventing the wheel is rarely interesting (sometimes is, though) (*).
I think that "CAN BE DONE" is not the point, because everything can be done in assemb ... erm ... machine code. If I tell OOP people about the features of Haskell, they say, they can do the same in principle with their languages. The languages are all Turing-complete, but this statement is as useful as the observation "a line segment contains as many points as a filled square" for measuring lengths and areas. On the other hand, since we have clarified that language generations are a marketing issue, I will not defend this classification scheme or any classification with it. If at all, we should respect that Haskell is a class of its own. ;-)