A lisp-language Mathematica-to-lisp translator

Richard J. Fateman
1990 ACM SIGSAM Bulletin  
Wide distribution of the computer algebra system Mathematica 1 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 di cult-to-alter semantics. Therefore certain kinds of experiments and
more » ... ts 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 s e m a n tics.
doi:10.1145/1089419.1089421 fatcat:l3q6ms6qrna5jivjphszdeiszu