gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] Todo list...


From: Raymond Toy
Subject: Re: [Gcl-devel] Todo list...
Date: 19 May 2002 17:52:32 -0400
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.5 (bok choi)

>>>>> "James" == James Amundson <address@hidden> writes:

    James> 1) f2cl-lib.lisp fails to compile because of some sort of internal 
GCL
    James> error. I reported this to the GCL list, but I haven't pinned down the
    James> problem. I can work around the problem by not compiling f2cl-lib.

Found the problem.  For some reason gcl generates incorrect C code for
the following:

(defun max0 (x y &rest z)
  (declare (integer x y))
  (apply #'max x y z))

It doesn't like the declaration, so commenting it out allows gcl to
compile f2cl-lib.lisp.  Hurray!

However, I now get warnings about INT being in the Lisp package and
not defined when compiling ifix, idfix, aint, etc.  First, why is INT
in the Lisp package, and, second, why does gcl warn about this?  Seems
to work ok, though.

    James> 2) destructuring-bind is in the user package. I think it should be in
    James> the lisp package. I hadn't reported this problem yet because I 
wanted to
    James> make sure "lisp" is the right place. I'm pretty sure. I can 
workaround
    James> this with a #+gcl(import...), but it will get ugly if I workaround it
    James> now, then it gets fixed later. A fix now would be lovely.

I see that destructuring-bind is now in the LISP package, but it's not
exported so I've hacked around this by doing an import.  No more
errors when compiling f2cl-lib.  

Note, however, there are compiler warnings about do-arg-error-count
not being defined.  Probably need to borrow the code from CMUCL or
create your own equivalent.

    James> 3) array-displacement is not in GCL. This is a real problem because a
    James> suitable replacement cannot be created at the user level.
    James> array-displacement requires some information available only to the
    James> implementation. I have a really hacky workaround, but it requires 
adding
    James> extra code every time make-array is called. This is high on my list 
of
    James> problems with GCL right now.

Camm's latest rev for this works beautifully.  Although, I think it
ought to work the same was as floor/ceiling does instead of consing up
the result just so some lisp code and return it as tow values.  I'll see
if I can't come up with a patch to implement this.

With these changes, I've successfully built maxima with gcl.  Hurray!

Ray



reply via email to

[Prev in Thread] Current Thread [Next in Thread]