[Top][All Lists]

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

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

From: Camm Maguire
Subject: Re: [Gcl-devel] Todo list...
Date: 16 May 2002 17:43:08 -0400


James Amundson <address@hidden> writes:

> On Thu, 2002-05-16 at 11:57, Vadim V. Zhytnikov wrote:
> > 
> > 
> > Camm Maguire wrote:
> > 
> > > Dear Friends of Gcl!  I *may* be able to get some time in the next few
> > > days to work a bit on gcl.  A number of issues have been raised and
> > > are outstanding.  Are there suggestions as to prioritization?
> > >
> > 
> > I think that the most urgent need is to eliminate GCL incompatibility
> > with current Maxima CVS.
> I am sorry to say that I haven't done a good job of conveying those
> problems to the GCL list. Here are the problems I know about, off the
> top of my head:
> 1) f2cl-lib.lisp fails to compile because of some sort of internal GCL
> error. I reported this to the GCL list, but I haven't pinned down the
> problem. I can work around the problem by not compiling f2cl-lib.

OK, I take it this is in maxima cvs somewhere?

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

Embarrassing as it is, I still don't get the concept of lisp packages.
In any case, I assume it is fixed by adding:

(in-package 'lisp)

to destructuring_bind.lsp and recompiling.  Done and committed.

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

OK, I've looked at the examples in the spec on array-displacement, and
preliminarily come to the following conclusions:

1) Gcl's array structure looks like
struct array {                  /*  array header  */
        object  a_displaced;    /*  displaced  */
        short   a_rank;         /*  array rank  */
        short   a_elttype;      /*  element type  */
        object  *a_self;        /*  pointer to the array  */
        short   a_adjustable;   /*  adjustable flag  */
        short   a_offset;       /*  bitvector offset  */
        int     a_dim;          /*  dimension  */
        int     *a_dims;        /*  table of dimensions  */


a_displaced has a car of the parent array, and a cdr of the list of
'child' arrays.  Looking at array.c, this seems reasonably
straightforward.  Is the returned pair (array and displacemement) a
single list, or a pair of objects?  Am a bit unclear how to return the

> Ray might be able to elaborate on GCL problems with current cvs. Ray?
> --Jim

Camm Maguire                                            address@hidden
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah

reply via email to

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