Computer algebra in modern functional languages. - José Romildo Malaquias (2001)
Many computer algebra systems have already been proposed and implemented. Most of them are implemented in or even implement languages without the referential transparency property, making it difficult, if not impractical, to reason about algebra programs. This dissertation presents a computer algebra system implemented as a library in the Haskell programming language, a modern functional language with the desired referential transparency property. The author presents the foundations and basic algorithms for manipulation of algebraic expressions in a declarative context, compatible with Mathematics. He examines the adequacy of the constructs provided by the Haskell programming language for implementing such a library in a modular way, so that it can be easily extended with the inclusion of new algebraic formulas and manipulations. Such extensions should keep compatibility with prior versions of the library. This work also contributes for showing that modern functional languages like Haskell are viable for day to day programming, even beating conventional languages in some aspects, like level of abstraction.