
                          AKCL Version of REDUCE

REDUCE is based upon Standard Lisp, a subset of the full Lisp language
sufficient to run all of the distributed REDUCE.  This means that when one
wants to port REDUCE to a new architecture, it is also necessary to have a
Lisp compatible with Standard Lisp running on that architecture.  Although
our knowledge of Lisp porting has increased tremendously during the past few
years, this is still a task for experts for most Lisp systems.  However,
Kyoto Common Lisp offers an easier porting path than most Lisp systems since
its compiler generates C, and most new architectures come with a reasonable
C compiler these days.  Furthermore, Professor Bill Schelter at the
University of Texas has modified his AKCL (Austin KCL) dialect of KCL to be
more effective at running REDUCE.  In particular, it solves the problem that
many C compilers have in handling the large C files generated in compiling
the distributed REDUCE.  As you can see from the timings file in the info
directory of the REDUCE network library, the timings are quite good for
Common Lisp-based systems, which tend to run slower than those systems which
implement more directly the Standard Lisp subset.

If you have Internet ftp access, you can get AKCL and KCL (both of which
are needed) by anonymous ftp from rascal.ics.utexas.edu (128.83.144.1).
The relevant files are pub/akcl-1-600.tar.Z (or higher version) and
pub/kcl.tar.Z.  Both these files should be retrieved in image (binary)
mode.  A tape of both AKCL and KCL can also be obtained for $250 from

        W. F. Schelter
        1715 Barnswallow
        Austin TX 78746
        E-mail: wfs@cli.com .

You should note that even though you can obtain a free copy of KCL in this
manner, it is not in the public domain, and as explained in the KCL "readme"
file, you are required to send a signed license agreement to Kyoto
University to complete the transaction.

All files necessary to build REDUCE in AKCL are included in the general
Common Lisp REDUCE 3.4 distribution.  The REDUCE information package
(info-package in the "info" library) explains how to obtain this version.

REDUCE also runs in most of the commercially available Common Lisp systems
as well as many other Lisp systems.  The choice of which version of REDUCE
to use has to be based on an individual user's own requirements.  In
particular, you are usually better served by a system customized for the
machine you are using rather than a generic version, since the former is
often specifically tuned for that machine and operating system and the
installation procedure very simple.  On the other hand, installation of the
AKCL version for example requires much more time, since a complete AKCL must
be installed and all the REDUCE binary files created.  In addition, system
programming experience will probably be required to port AKCL to a new
architecture.  There are also some poorly defined areas in the original
Common Lisp specification, such as error handling, which can lead to awkward
behavior in running a Common Lisp-based REDUCE.  Finally, since Common Lisp
is a much larger system than Standard Lisp, you pay a performance price for
loading the former system.

Tony Hearn
