文档介绍:(IN PROGRESS) Lisp as an Implementation Language puter
Algebra Systems
by the Yacas team 1
Yacas version:
generated on May 20, 2003
Lisp is a very simple language, one suited for puter algebra. Almost all CAS systems today
owe a lot to the ideas that came from Lisp. This is a book on the Lisp language, and its connection
to Yacas. Yacas is built on top of a Lisp dialect.
1This text is part of the Yacas software package. Copyright 2000–2002. Principal documentation authors: Ayal Zwi Pinkus,
Serge Winitzki, Jitse Niesen. Permission is granted to copy, distribute and/or modify this document under the terms of the
GNU Free Documentation License, Version or any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free
Documentation License”.
Contents
1 A brief introduction to Lisp 2
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Why choose Lisp over other languages? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
A little history of Lisp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
The Lisp mand line interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
A basic set of Lisp mands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Arbitrary precision arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
A few useful macros and functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
A reality check: implementing more functions in the interpreter for efficiency . . . . . . . . . . . . . . . 7
2 Language design issues 9
Enforcing correct code . . . . . . . . . . . . . . . . . . . . . .