Frequently Asked Questions about KCL and AKCL

1.  What is KCL?

KCL, Kyoto Common Lisp, is an implementation of Lisp, conforming to the
book ``Common Lisp: The Language,'' G. Steele, et al., Digital Press,
1984.  KCL was written by T. Yuasa and M. Hagiya (working under R.
Nakajima) at the Research Institute for Mathematical Sciences, Kyoto
University.  It is written in the language C to run under Un*x-like
operating systems.  (E-mail addresses for the authors are
yuasa@tutics.tut.ac.jp and hagiya@kurims.kurims.kyoto-u.ac.jp).  KCL
is very C-oriented; for example, the compilation of Lisp functions in
KCL involves a subsidiary C compilation.

2.  What is AKCL?

AKCL is a collection of ports, bug fixes, and performance improvements
to KCL written almost entirely by William Schelter, Mathematics
Department, University of Texas at Austin.  (wfs@cli.com or
wfs@rascal.ics.utexas.edu).  To build AKCL, one must also have in
place the sources for KCL.  At the time one builds AKCL, one
automatically merges AKCL changes with the KCL sources, which are left
unmodified, in accordance with the KCL license.

3.  On what machines and under what operating systems does AKCL
currently run?

Currently, AKCL runs on:

   * dec3100:  Decstation 3100, OS=Ultrix V3.1C-0 (Rev. 42) [akcl 505]
   * hp300-bsd:  Hp 350, 370 [motorola 68K]  under 4.3 BSD (mt xinu)
   * hp300:  Hp 350, 370 under HPUX.
   * mp386: intel 386 under System V (eg microport)
   * ps2_aix: ibm ps2 under aix
   * rios: Ibm risc 6000 under aix3.
   * rt_aix: ibm rt under aix release 2.
   * sgi4d: 4d version of silicon graphics
   * sgi: silicon graphics 3d versions
   * sun3-os4: sun3 under os 4.03, 4.1
   * sun3:  Sun 3 (motorola 68K)  Sun OS  3.
   * sun4:  Sun 4,(sparc) sparctations,  sun os 4.03 or 4.1
   * symmetry: sequent symmetry (386 chips) DYNIX-3.0.12+
   * u370: IBM 370 (3090's) under AIX
   * vax: Vax under 4.3 bsd., also ultrix

The current version of this list of machines is, in general, to be
found in the file ./MACHINES in the AKCL distribution.

4.  How can one obtain KCL or AKCL?

Both KCL and AKCL may be obtained by anonymous ftp from Internet sites
cli.com (192.31.85.1) and rascal.ics.utexas.edu (128.83.138.20).  On
cli.com, start with the file /pub/akcl/AKCL.README.

5.  What are the licensing, copyright, public domain, and ownership
characteristics of KCL and AKCL?

KCL is copyrighted, and changes to the sources are forbidden.  Before
obtaining KCL by anonymous ftp, one must fill out and mail to Kyoto
(by physical mail, not email) the KCL license agreement, which may be
found in the file /pub/kcl/kcl.license on cli.com.  There is no fee
for KCL.  There are no additional legal requirements for obtaining
AKCL.  But, to repeat, to build AKCL one must first get KCL, which
includes signing and sending in the license to Kyoto.

6.  How does one build AKCL?

Read the file AKCL.README, available by anonymous ftp.

7.  How are KCL/AKCL bugs fixed?

Bugs may be reported to the (unmoderated) Internet mailing list
kcl@cli.com, which is read by many folks, including Yuasa and Schelter.
Based upon the history of the last four years, one can say that so far
those two seem to fix bugs practically by return mail.  To subscribe
to the kcl@cli.com mailing list, send a request to
kcl-request@cli.com.  Other knowledgeable readers of kcl@cli.com also
sometimes contribute bug fixes.

8.  Is there publicly available a port of KCL to IBM PC (MS DOS) or
Macintosh?

To the best of my (RSB) current knowledge, the answers are NO WAY
(IBM-PC/MS-DOS), NO WAY (MAC, Standard Operating System) and MAYBE
(MAC A/UX).  tweigert@risc.uni-linz.ac.at
(weigert@altair.mcs.anl.gov), Ian_Clements@vos.stratus.com, and
pd@dcs.qmw.ac.uk report the existence of Mac A/UX ports.  As far as I
know, there is not yet a publicly available version of these, but it
seems possible that Weigert will make his available.

9.  How good is AKCL/KCL?

One can engender hot disputes by making claims about Lisp
implementation performance or quality.  Perhaps no one will object to
my assertion that some researchers who write and use Lisp systems for
a living voluntarily use AKCL exclusively even though they could
afford to be using any other Lisp.  Factors which influence this
decision include (a) one has the sources available and (b) on some
benchmarks, KCL/AKCL seems (to the runners of those benchmarks) to be
fastest.  BUT on the other hand, some knowledgeable users (it could be
the vast majority for all I know) have compared AKCL and decided to
use other Lisps instead, based not only on performance reasons but on
factors such as access to windows and existence of commercial
support/maintenance.  (If you are interested in doing some of your own
benchmarking of AKCL and other Lisps, you may be interested in the
file gabriel.tar.Z, which contains versions of the Gabriel
benchmarks.)

10.  Is there AKCL support for X-windows or any other window system?

To the best of my (RSB) knowledge, there is no one who is currently
distributing widely and supporting any code for using KCL/AKCL with
any window system.  Some individuals report happy use of CLX.
However, there is no CLX support for something as essential to window
use as ``interrupt on mouse click.''  The question of how to field
interrupts (and the processes executing in parallel they seem to
entail) reasonably in KCL/AKCL is still a matter of research as far as
I can tell.

11.  Is there a Lisp-machine-like environment for using KCL/AKCL?

I find using AKCL under shell mode within Gnu Emacs delightful.  The
ilisp system (anonymous ftp from katmandu.mt.cs.cmu.edu) adds many
Lispm-like features to Gnu Emacs.

12.  What is the documentation for KCL/AKCL?

Mainly one just uses Steele's book, and this is as it should be.  An
inconsistency between that book and KCL/AKCL should be reported to
kcl@cli.com, and one can expect, based upon four years of experience,
that the inconsistency will be removed!  For the implementation specific
details (e.g., how to get garbage collection information, how to exit
from Lisp), see the files ./doc/kcl-report.tex and ./doc/DOC.

13.  Can one still install KCL and not bother with AKCL?

The last time I heard, a Sun OS upgrade made it impossible any longer
to bring up KCL on a Sun-3 as one once could by following the 1987
instructions in the file kcl.broadcast, which announced the
availability of KCL by anonymous ftp.  Because AKCL includes some bug
fixes to KCL and deals with many operating system issues encountered
since 1987, I recommend the use of AKCL rather than KCL alone.

14.  What is Ibuki?

Richard Weyhrauch runs a company called Ibuki that sells and ports
a version of KCL.  They have ported it to *many* machines.

15.  What about the second edition of ``Common Lisp the Language'',
1990, and the emerging ANSI Common Lisp standard?

To the best of my (RSB) knowledge, there is *currently* no effort
anywhere underway to produce a KCL/AKCL that conforms to the emerging
standard.  But in view of the fact that a new standard has not yet
been promulgated, this may be just as well.  As Steele remarks in the
preface to the second edition, ``in no way does this book constitute a
definitive description of the forthcoming ANSI standard.''

16.  How ``big'' is AKCL?  To build AKCL, I would recommend having
about about 30 megabytes of free space before starting to get the
sources.  However, a complete, executable, Sun-3 AKCL is only
2,207,744 bytes.  (Wow!)

17.  What if one cannot get KCL or AKCL by ftp?

I suggest that you ask one of the following for help:  Yuasa, Hagiya, or
Schelter, at the email addresses given above.  Please don't ask me.

18.  Who are you?

Robert S. Boyer's involvement with KCL/AKCL is essentially that of a
mere Lisp user.  I was involved in no way with the creation of KCL.  I
am not involved with the licensing of KCL.  I have had only the most
superficial and tangential involvement with bug fixing and porting of
KCL/AKCL.  I rarely help to maintain the kcl@cli.com mailing list.  I
have no financial involvement with KCL/AKCL or Ibuki.  All opinions
expressed above are mine but not necessarily those of anyone else,
including the University of Texas at Austin, Computational Logic, or
the creators of KCL or AKCL.