Go to the first, previous, next, last section, table of contents.


Overview

JACAL is a symbolic mathematics system for the simplification and manipulation of equations and single and multiple valued algebraic expressions constructed of numbers, variables, radicals, and algebraic functions, differential, and holonomic functions. In addition, vectors and matrices of the above objects are included.

This is free software, and you are welcome to redistribute it under certain conditions; See the file COPYING with this program or type (terms)(); to JACAL for details.

For a list of the features that have changed since the last JACAL release, see the file `ANNOUNCE'. For a list of the features that have changed over time, see the file `ChangeLog'.

The maintainer can be reached as `jaffer@ai.mit.edu'. The most recent information about JACAL can be found on JACAL's WWW home page:

http://www-swiss.ai.mit.edu/~jaffer/JACAL.html

Installation

JACAL uses the Scheme library SLIB as a portable platform. Once SLIB has been installed (and is loaded when your Scheme implementation starts up), there should be no need for further configuration effort.

SLIB has initialization files for most Scheme implementations. It is available from the same locations and vendors as JACAL. See section `Installation' in SLIB.

If you also need a Scheme implementation, SCM (written in C) is available from the same locations and vendors as JACAL.

Starting Jacal

From your Scheme implementation, type (where `/usr/local/lib/jacal/math.scm' is a pathname sufficient to specify the file of that name in the JACAL directory):

(slib:load "/usr/local/lib/jacal/math.scm")
=> ...
JACAL version 1a5, Copyright 1989-1994 Aubrey Jaffer
JACAL comes with ABSOLUTELY NO WARRANTY; for details type `(terms)'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `(terms)' for details.
;;; Type (math) to begin.

(math)
=>
type qed; to return to scheme, type help; for help.
e0 : 

and you are ready to try the commands described in the rest of the manual.

Some implementations give the ability to specify files to load on the commmand line. Assuming SCM is installed on your system (and assuming the same location of `jacal/math.scm'), the line would be:

scm -il/usr/local/lib/jacal/math.scm -e"(math)"

An alias or shell script which contains this line can conveniently start JACAL for you.

Recovery from Errors

As JACAL is a complicated program there are bugs which will occasionally cause the program to stop with some sort of error reported by the underlying Scheme system. In interactive implementations (such as SCM) you can usually continue your session by typing (math). The expression which was input to JACAL just before the error will be lost but you should be able to otherwise continue with your session.

Stoping Jacal

The command quit(); will end your JACAL session.

With non-interactive Scheme implementations the JACAL command qed(); or typing the end-of-file character (C-z on MSDOS and VMS, C-d on others) will end your JACAL session.

The command qed(); will return to the interactive Scheme session. Typing (math) will return to the JACAL session.

From the interactive Scheme session (exit) or possibly an end-of-file character will terminate the session.

Conventions

Things that are labeled as Operators can occur in expressions output by Jacal. Things that are labeled as Commands act upon their arguments and do not generally occur in expressions output by Jacal. Things that are labeled as flags are set to control aspects of the Jacal environment.

The examples throughout this text were produced using SCM.

Jacal has several grammers it understands. The standard grammar is used in this manual. It is like simple TeX grammar and algol family computer languages.

Identifier names are case sensitive and can be any number of characters long.


Go to the first, previous, next, last section, table of contents.