standard library. Reply

S.D.Mechveliani mechvel@math.botik.ru
Tue, 15 May 2001 08:45:25 +0400


Ch. A. Herrmann <herrmann@infosun.fmi.uni-passau.de>
writes

> [..]
> Anyway, an algebraic library is important:
> it is nice that Haskell has the rational numbers but recently, it
> appeared useful for me also to have the algebraic numbers, e.g.,
> to evaluate expressions containing roots exactly. The problem is
> that I'm not an expert in this stuff and thus, be very glad if
> such things are added by an expert.
>
> On the other hand, I'd like to add things like a linear equation solver
> for a non-invertible system which may help to convince people that
> Haskell provides more features than other programming languages do.


The BAL library
        http://www.botik.ru/pub/local/Mechveliani/basAlgPropos/

provides such linear solver, as well as operations with roots.
For example, the root of 
                         x^5 - x + 1 

can be handled (in many respects) in BAL as only a residue of 
polynomials modulo this equation - a data like  (Rse ...(x^5-x+1))).
 
But BAL is not a standard library.

And there is another point:

> [..] for a non-invertible system which may help to convince people that
> Haskell provides more features than other programming languages do.

In any case, we have to distinguish between a standard library and 
an application. A standard library should be small. 
I think, for Haskell, it should be something that you mention now. 
But, for example, the true algebraic number theory algorithms are too
complex, it is for the non-standard application writers.

And if a language is good, there should come many special applications
(non-standard ones). Haskell's www page does reveal some. 

Regards,

-----------------
Serge Mechveliani
mechvel@botik.ru