JACAL INSTALL Notes				3-May-1990
Copyright (c) 1990 by Aubrey Jaffer, All rights reserved.

Compatablity test release: 0.5.3

This purpose of this release is to evaluate the ability of JACAL to
run under various Lisps and Schemes.  Please mail to jaffer@ai.mit.edu
either modified files or a description of what you had to do in order
to get the system to run and a description of any remaining problems.

JACAL is written in a language called scl which runs in both
Common-Lisp and Scheme.  The compatability packages are scl.lisp and
scl.scm respectively. 

I have developed the system using Lucid Common Lisp and MIT Scheme.
In order to run under other Lisps you will need to either link to or
rename the files in the directory src with file extensions so that
(load "math") will load the file "math.whatever".  There are some
tests which are run at the end of loading "math".  If these do not
give any warnings then you can either try using the system (type
(math)) or compiling it.

Below is a list of all the Lisps and Schemes that I have heard of.
Information that should be added is:
    Operating system : filename extension for source files. 
	problems with compilation and execution.
	fixes.
If the languages can load files from the command line or some user
init file please include that infromation.

			     COMMON LISPS

(load "compilem.lisp") will compile files.  It is very worthwhile
to compile "scl.lisp".  Next in importance are "types" and "poly".

* Lucid Common Lisp
    HP-UX: filename extension is ".l"
	Lucid Version 2 does not compile what letrec translates into
	properly;  JACAL no longer uses letrec.  Also, compiling scl.l
	breaks the lisp.  Get a fresh lisp after compiling scl.l.
    Unix: filename extension is ".lisp"

* Austin Kyoto Common Lisp

* Kyoto Common Lisp

* Franz Allegro Lisp
    NeXT: what is the filename extension?  The compiler looks for
    ".cl" but load does not.

* Harlequin Lisp
    Is this a common lisp?

* Golden Common Lisp

* Coral Allegro Lisp
    Not supported due to Apple (which owns Coral) bringing look and
    feel lawsuits which indirectly threaten this whole enterprise.

			     OTHER LISPS

* Franz Lisp
    Jim O'Dell is working on getting JACAL to run under Franz Lisp.
    I have removed letrec from the code, which was the major impediment.

			       SCHEMES

JACAL has a file scl.scm which provides compatability with rev^3.99
Scheme.  The major differences which JACAL cares about from rev^3 are:
	and & or are used (not essential in rev^3),
	most of the procedures non essential in rev^3 are used,
	number->string and string->number have been changed.
The non essential procedures can be written easily enough.  and & or
missing from an implementation is a serious problem.

If your Scheme conforms to Revised^3 rather than Revised^3.99 you will
need to add the line (load "scm.scm3") or some portion of it to the
begining of math.scm.  scm.scm3 is not written yet.  If you need it,
feel free to write it.

* MacScheme 

* PC Scheme 

* MIT Scheme 
    HP-UX, Unix: extension is ".scm"

* T 

* Chez Scheme 

* Elk 

* Scheme->C 

* skim 

* SIOD 
    Siod needs to have all the rev^3 datatypes and should get bignums.

* Pseudoscheme 
    This translates scheme programs to common lisp.  There would not
    seem to be any reason to do this since JACAL runs in common lisp also.

* Scheme84 

* Vincennes Scheme 

* XScheme 

* Fools' Lisp 

				 UNIX

On Unix machines, while in a directory containing src/ (which
contains the distribution files) type:
  chmod +x src/Makelinks
  src/Makelinks
This will create directories and links to src/ with suitable suffices.

To use from most Common Lisps type:
  cd lisp
  lisp
  (load "math")

To use with HP/Common_Lisp type:
  cd l
  lisp
  (load "math")

To use from Scheme type:
  cd scm
  scheme
  (load "math")
