Mathematica: a system for doing mathematics by computer
Mathematica: a system for doing mathematics by computer
Programming in Mathematica
A simple display package for polynomials and rational functions in common Lisp
ACM SIGSAM Bulletin
A rational function arithmetic and simplification system in common Lisp
ACM SIGSAM Bulletin
Evaluation of the heuristic polynomial GCD
ISSAC '95 Proceedings of the 1995 international symposium on Symbolic and algebraic computation
Comparing the speed of programs for sparse polynomial multiplication
ACM SIGSAM Bulletin
Hi-index | 0.00 |
Wide distribution of the computer algebra system Mathematica has encouraged numerous programmers, researchers and educators to produce libraries of programs in its special language, for incorporation as "packages" into Mathematica systems. Although some features of the language are quite interesting, some authors have found that for their purposes the Mathematica proprietary computer program has problematical and difficult-to-alter semantics. Therefore certain kinds of experiments and developments are necessarily inconvenient. An initial step in opening up such user-written libraries to re-use is an independent re-implementation of the language via a non-proprietary parser. In principle, this allows other implementations of semantics, as well as experiments in data representation, while still using the language basically as described in the Mathematica references. We describe a parser written in Common Lisp, a language which is appropriate for three reasons: (1) It is a standard and has wide distribution; (2) It supports numerous useful features including automatic storage allocation and garbage collection, arbitrary-precision integers, and tools for lexical scanning of languages; and (3) Lisp is the host language for several algebraic manipulation systems whose subroutines may be of some interest for programmers implementing alternative semantics.