gcl-devel
[Top][All Lists]
Advanced

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

Re: [Gcl-devel] Re: [Maxima] Bugs in gcl cause maxima build failures


From: Camm Maguire
Subject: Re: [Gcl-devel] Re: [Maxima] Bugs in gcl cause maxima build failures
Date: 21 May 2002 15:22:31 -0400

Greetings!

James Amundson <address@hidden> writes:

> On Thu, 2002-05-02 at 08:49, Raymond Toy wrote:
> > >>>>> "James" == James Amundson <address@hidden> writes:
> > 
> >     James> Bug #1:
> > 
> >     James> GCL bails out with an error when trying to compile f2cl-lib.lisp 
> > in the
> >     James> src/numerical directory. The simplest way to see the bug is 
> > simply to
> >     James> run gcl and type
> >     James>  (compile-file "f2cl-lib.lisp")
> > 
> >     James> Here is what happens:
> > 
> >     James> ---------------------------------------
> >     >> (compile-file "f2cl-lib.lisp")
> > 
> >     James> Compiling f2cl-lib.lisp.
> >     James> ; (DEFUN COL-MAJOR-INDEX ...) is being compiled.
> >     James> ;; The variable HI is undefined.
> >     James> ;; The compiler will assume this variable is a global.
> >     James> ;; The variable LO is undefined.
> >     James> ;; The compiler will assume this variable is a global.
> > 
> > Could these errors be caused by a non-functional destructuring-bind?
> > HI and LO are defined there and are used.
> > 
> > Perhaps the numerical stuff in maxima.system should be moved later,
> > after ellipt.lisp is loaded, which contains destructuring-bind for
> > gcl?
> > 
> > Alternatively, perhaps we should remove destructuring-bind from
> > ellipt.lisp, stuff it in, say, gcl-hacks.lisp, update/conditionalize
> > maxima.system appropriately, and load gcl-hacks early.  Maybe include
> > an ANSI loop function as well in gcl-hacks?  I think I have one.
> 

OK, this should be cleared now.


> I think this is the right approach. Actually, I think we should have a
> gcl-hacks module.
> 

Please keep the gcl-list abreast of these hacks!  Probably all need to
find there way into gcl at some point.

> An aside: The current cvs gcl has destructuring bind, but it's in the
> "USER" package!
> 
> >     James> ; (DEFUN IFIX ...) is being compiled.
> >     James> ;; Warning: INT (in lisp package) is called as a function--not 
> > yet
> >     James> defined
> >     James> ; (DEFUN IDFIX ...) is being compiled.
> >     James> ;; Warning: INT (in lisp package) is called as a function--not 
> > yet
> >     James> defined
> >     James> ; (DEFUN MAX1 ...) is being compiled.
> >     James> ;; Warning: INT (in lisp package) is called as a function--not 
> > yet
> >     James> defined
> > 
> > This looks wrong since INT is defined before these functions.
> > 

I agree.  Am looking into this.  Could this be a namespace collision?
My very primitve lisp knowledge would indicate that an 'export'
statement would only be needed were (int to be invoked outside the
file. 

> >     James> Warning: The declaration specifier INTEGER4 is unknown.
> > 
> > This seems wrong.  gcl doesn't understand deftype's maybe?
> > 

I agree.  Am investigating.

> >     James> ; (DEFUN PROCESS-IMPLIED-DO ...) is being compiled.
> >     James> ;; The variable START is undefined.
> >     James> ;; The compiler will assume this variable is a global.
> >     James> ;; The variable END is undefined.
> >     James> ;; The compiler will assume this variable is a global.
> >     James> ;; The variable &OPTIONAL is undefined.
> >     James> ;; The compiler will assume this variable is a global.
> >     James> ;; The variable STEP is undefined.
> >     James> ;; The compiler will assume this variable is a global.
> >     James> ;; The variable INDEX-VAR is undefined.
> >     James> ;; The compiler will assume this variable is a global.
> >     James> ;; The variable DATA-VARS is undefined.
> >     James> ;; The compiler will assume this variable is a global.
> > 
> > Broken destructuring-bind?

Should be cleared now.

> > 
> >     James> ; (DEFUN EXECUTE-FORMAT ...) is being compiled.
> >     James> ;; The variable WHILE is undefined.
> >     James> ;; The compiler will assume this variable is a global.
> >     James> ;; The variable DO is undefined.
> >     James> ;; The compiler will assume this variable is a global.
> > 
> > Missing ANSI loop?
> > 

Should be cleared now.

> >     James> ; (DEFUN D1MACH ...) is being compiled.
> >     James> ;; The variable LEAST-POSITIVE-NORMALIZED-DOUBLE-FLOAT is 
> > undefined.
> >     James> ;; The compiler will assume this variable is a global.
> >     James> ; (DEFUN R1MACH ...) is being compiled.
> >     James> ;; The variable LEAST-POSITIVE-NORMALIZED-SINGLE-FLOAT is 
> > undefined.
> >     James> ;; The compiler will assume this variable is a global.
> >     James> End of Pass 1.  

OK, I'll add these to the missing features list.

> > 
> > I guess gcl is missing these.  Could use
> > least-positive-{double,single}-float for these.
> > 
> >     James> ; (DEFUN LUN->STREAM ...) is being compiled.
> >     James> ;; Warning:  LUN->STREAM is proclaimed but not in 
> > *inline-functions* 
> > 
> > No idea what this means.  Maybe the declaim for lun->stream can be
> > removed?  Not sure why that's there anymore.
> 
> Actually, I already know the proclaims/declaims are screwed up. One more
> thing that should be fixed.
> 

Could someone please clarify the proclaims/declaims issue here?  What
is the purpose of *inline-functions*?  Is this variable supposed to be
modified in f2cl-lib.lsp before defining this function in this way?
If someone is really kind, maybe they could even throw in a sentence
on the meaning of the -> syntax -- is it as in C?

Also, can this f2cl-lib be used to generate a blas interface as well?
Would a blas.o providing a gcl lisp interface into the blas (when
fasloaded) properly belong in the gcl package, or as a separate
add-on?  I'm a bit confused on what is expected to be included in a
lisp system -- for example, some windowing hooks appear to be
expected, whereas they certainly don't ship with compilers of other
languages, like gcc.

Take care,

> --Jim
> 
> 
> _______________________________________________
> Gcl-devel mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/gcl-devel
> 
> 

-- 
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]