A lisp-language Mathematica-to-lisp translator

  • Authors:
  • Richard J. Fateman

  • Affiliations:
  • University of California, Berkeley

  • Venue:
  • ACM SIGSAM Bulletin
  • Year:
  • 1990

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.