From: Michael Hucka
Subject: How do the different Lisps compare in terms of X3J13 compatibility?
Date: 
Message-ID: <82wx7s4jsb.fsf@manic.eecs.umich.edu>
We're trying to decide on whether to continue our Franz Allegro CL site
license, and have been looking into freely available Lisp implementations.
One thing we don't have a good idea of is how well the different Lisps
conform to CLtL2 and/or X3J13.  Can others among you comment about that for
the following?

* Allegro CL
* CLISP
* CMU CL
* GNU CL
* Medley
* WCL

Also, any comments about the quality of the implementations and the
programming environment provided by these different Lisps would be
appreciated.
-- 
Mike Hucka                   University of Michigan Artificial Intelligence Lab
·····@umich.edu (X.500)            and EECS Departmental Computing Organization
http://ai.eecs.umich.edu/people/hucka/        Ann Arbor, Michigan 48109, U.S.A.

From: Paul Fuqua
Subject: Re: How do the different Lisps compare in terms of X3J13 compatibility?
Date: 
Message-ID: <PF.95Dec20144056@elissa.hc.ti.com>
    Date: 19 Dec 1995 20:16:04 -0500
    From: ·····@eecs.umich.edu (Michael Hucka)

I happen to have most of these running on my Sparc-10, and I used
several of them on a recent project.  This is not an exhaustive
analysis, just things I noticed.

    * Allegro CL

Solid implementation, 4.2 lacks readtable-case and the :load argument to
compile-file.  Appendix A in the user guide lists all the post-CLtL1
changes and whether Allegro conforms, though I wish it listed all the
compliance warnings in one place.  My favorite of the bunch.

    * CLISP

Pretty solid, very small, didn't notice anything missing.  Describes
itself as "mostly" supporting CLtL2 and ANSI.  Byte-compiled, which is
good for size (I run it on my laptop, too) but not best for speed.
Actively maintained:  four releases in 1995.

    * CMU CL

Good compiler, lots of optimisation advice.  Has a lot of CLtL2, but
development stopped at version 17f so it won't advance much.  Simple
stop-and-copy garbage collector, tended to die on my program when the
heap approached 128 MB.  I ended up doing my project's parsing in CMUCL
or CLISP (I needed readtable-case), writing out the result, and
switching to Allegro for the symbol-crunching.

    * GNU CL

Haven't used it since AKCL 530, at which time it was CLtL1;  I'm sure
it's advanced since then, but don't know how much.  Probably still uses
PCL.  Compiles to C, which can take a while (especially method
combination), but makes foreign functions easy.

    * Medley

Isn't this a commercial product?  Anyway, I've never used it.

    * WCL

Mostly CLtL1 -- LISP package instead of COMMON-LISP, no defpackage, no
readtable-case, uses PCL.  Random things are unimplemented, like
find-all-symbols.  I believe it's a one-man project, and I haven't seen
a new version since 2.2 in July 1994.  The shared-library idea is really
neat, though.

    Also, any comments about the quality of the implementations and the
    programming environment provided by these different Lisps would be
    appreciated.

Allegro is nicely integrated with emacs and Composer offers some useful
windowed services.  The others can all be used with ilisp to make an
environment that's almost as nice for basic things.  WCL uses a modified
gdb as its debugger.  CLISP can link in the GNU readline library for
simple command-line editing.  CMUCL has a Motif interface to the
debugger, which I've never tried.

Paul Fuqua
Texas Instruments, Dallas, Texas                     ··@hc.ti.com
From: Jeff Dalton
Subject: Re: How do the different Lisps compare in terms of X3J13 compatibility?
Date: 
Message-ID: <DKo8Cs.Lyz.0.macbeth@cogsci.ed.ac.uk>
In article <··············@manic.eecs.umich.edu> ·····@engin.umich.edu writes:
>We're trying to decide on whether to continue our Franz Allegro CL site
>license, and have been looking into freely available Lisp implementations.
>One thing we don't have a good idea of is how well the different Lisps
>conform to CLtL2 and/or X3J13.  Can others among you comment about that for
>the following?
>
>* Allegro CL
>* CLISP
>* CMU CL
>* GNU CL
>* Medley
>* WCL
>
>Also, any comments about the quality of the implementations and the
>programming environment provided by these different Lisps would be
>appreciated.

GCL-1.1 is still largely 1st edition CLtL.  However, you can easily
add defpackage, loop, and st least some of the condition system.
(I know because I've done it.)  The CLOS, if you add it, is PCL,
and it can be a pain because PCL compiles some things at run-time,
and GCL compiles to C.  So the C compiler is run, which can be
annoyingly slow.

GCL is moving towards X3J13 CL, but I'm not sure how far along
that road later versions (e.g. GCl-2.2) are.  There are no 
lightweight processes / stack groups / etc.

On the whole, I find GCL (and the earlier AKCL and KCL, which I've
been using since 1985) pretty good as an implementation, though
it's less optimizing than Lucid CL (the other CL I use most) and
less good for debugging compiled code.  I haven't used Allegro
very much recently, but my recollection is that it was also better
for debugging compiled code.

-- jeff