Yacas
: A do-it-yourself symbolic algebra environment
Introduction
Basic design
The
Yacas
kernel functionality
The
Yacas
scripting language
Currently supported CAS features
Interface
Documentation
Future plans
References
M. Wester's CAS benchmark and
Yacas
On Yacas programming
Example: implementing a formal grammar
Example: Using rules with special syntax operators creatively
Creating plugins for Yacas
Embedding Yacas into a
c
or
c++
application
Why
-x^(-1)
and
-1/x
are not the same in Yacas
Canonical and normal representations
But how can we then build a powerful CAS?
Conclusion
For Yacas developers
A crash course in Yacas maintenance for developers
Preparing and maintaining Yacas documentation
The Yacas build system
Designing modules in the Yacas scripting language
Introduction
Demonstration of the problem
Declaring resources to be local to the module
When to use and when not to use
LocalSymbols
The Yacas arithmetic library
Introduction
The link between the interpreter and the arithmetic library
Interface of the
BigNumber
class
Precision of arithmetic operations
Implementation notes
The Yacas script compilation system
Development of scripts that get compiled to plugins
Bootstrapping scripts as plugins into
Yacas
Steps to make a compiled script
Internal workings of the compiler
The Yacas calling convention
Registers
The compiler instruction set
An example
Execution
Syntax conversion for programs written in other languages
Introduction
Rationale
General approach
Applications
Implementation
Organization of the source files
Optimizers
Examples
Compatibility modes
Problems with Common Lisp code interpretation
Parsing a language
GNU Free Documentation License