Choices in Building Computer Algebra Systems
Stephen M. Watt
Ontario Research Centre for Computer Algebra
To most users, computer algebra systems come forth fully formed like Botticelli's Venus. The multitude of choices in the design of a computer algebra system are not readily apparent to the end user. This talk examines the story of Venus before she appeared on the scallop's shell.
We discuss the conceptual and practical issues in building a computer algebra system. We begin with a discussion of the range of computational paradigms upon wich a computer algebra system can be based, and the anticipated mathematical scope. We then examine how these choices affect detailed systems software issues. We examine such questions as system structure, object representation, memory management, and programming language support. Examples are drawn principally from Maple, Axiom and Aldor, with additional insights drawn from Camal, Reduce, Macsyma and special purpose systems.