From: CoRey

Subject: Linux version of ACL, 4.3 problems

Date: 1998-4-9 20:40

I have some bugs and questions to report regarding the 
free Linux version of acl, 4.3.


BUGS: 
-----
First, (subseq "HellO" 0 7) will return "HELLO<GARBAGe>"!!!
Where GARBAGE appears to be random noise in the computer's memory!
This should never happen in LISP!  You see stuff like this in C, but
Lisp's run time type checking should make sure this never occurs - it
should throw an error (see CLTL2)

Secondly, the random-text generator program from Paul Graham's _ANSI
COMMON LISP_ does no work with ACL without a change of a major
function (random-next '|word|), which finds the next word to generate
using the interned symbol that corresponds with that word.  The
function makes use of reduce with a :key argument, but ACL's reduce
does not know about the :key keyword argument!

Incidentally, Graham gives a version of random-next that does NOT use
reduce, claiming that reduce did not have :key back in 1984.  And that
function is less succint than the one which uses reduce, :key.  Can't you
guys bring your Lisp up to date?

Thirdly, I am having problems getting two large systems to make;

  1.  MAXIMA - based on the original MacSyma at MIT, the first symbolic
               mathematics program
  2.  STARSIM - A simulator of *LISP on the connection machine, 
                pretty interesting.

With both packages, I have all kinds of trouble getting them to make.
The odd thing is, STARSIM defines a read macro that controls whether
this code will be modified for ACL!  MAXIMA is written for Kyoto CL,
and not knowing the differneces between those two dialects, I can't
seem to convert it.  I plan on getting a real Symbolics account
to use over the net, so that I can make use of the #+Symbolics
read macros that are in those sources...

I'm not fluent enough to fix the problem.  I think it stems from a
weird way packages are implemented;  I have problems with the forms
require,  in-package, etc...

I realize you said there are problems with the Linux version.  Those
are just two things I have found, and I'll report more as I gain more
facility with Lisp.


FEATURES 
--------- 

The emacs lisp files that come with ACL are pretty nice, but the
indentation routines are not canonical; when doing an if form, the two
possible conditions that come after the test are not lined up
properly.  I see something similar with a setf with a multiple number
of setting forms.  And the annoying thing is, if I indent those 
forms in the style of Lisp, after I hit newline, the stupid emacslisp
program REINDENTS them the WRONG way!!!

How do I open up more than one lisp listener?  After
fi:common-lisp
I can do
fi:open-lisp-listener

but any subsequent invocations of that command only bring me to the
second lisp listener.  I can't seem to get more than 2 at a time...

Other than that , I enjoy the product, and wish that I could afford
the full version.  I like the fact that I can use sockets and regexps
like I am used to with unix, shell scripting.  Very nice.  And the
threading concept is new to me, I realize there are threads in
Solaris, C, etc, but don't understand how to use them yet.  Is there a
guide to this or a tutorial somewhere?

Corey Carroll <omega.uta.edu at cjc9024>