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: Raymond Toy
Subject: Re: [Gcl-devel] Re: [Maxima] Bugs in gcl cause maxima build failures
Date: 21 May 2002 15:52:05 -0400
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.5 (beets)

>>>>> "Camm" == Camm Maguire <address@hidden> writes:

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

With your latest changes, I don't really think there is a need for
this anymore, after you fix the least-positive-normalized-single-float
issue. :-)

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

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

I don't really know where this is coming from.  Is INT defined by gcl?
I also don't understand why it says lisp package.  There's an
in-package at the top so we're not in the Lisp package anyway.

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

    Camm> Could someone please clarify the proclaims/declaims issue here?  What
    Camm> is the purpose of *inline-functions*?  Is this variable supposed to be

I don't know.  f2cl-lib doesn't have *inline-functions*.  I assumed
that was from gcl.

    Camm> modified in f2cl-lib.lsp before defining this function in this way?
    Camm> If someone is really kind, maybe they could even throw in a sentence
    Camm> on the meaning of the -> syntax -- is it as in C?

I just wrote that to say I'm mapping a Fortran LUN (logical unit
number) to a Lisp stream.  No relationship to C.

    Camm> Also, can this f2cl-lib be used to generate a blas interface as well?

Yes and no.  f2cl-lib (and f2cl in general) is all about taking
existing Fortran code and converting it to Lisp.  The result is you
get Lisp code to compile.  The original Fortran is out of the picture.

So, if you don't mind having BLAS completely in Lisp, then yes, f2cl
will give that to you.  If you really wanted to have an interface from
a precompiled BLAS library to Lisp, then, no, f2cl doesn't really do
that.  In principle f2cl could write out the necessary code to a
foreign-function interface that you could use.  I haven't actually
done this though.

If you're interested in connecting Lisp with BLAS and/or LAPACK, you
may want to look at Matlisp (see sourceforge.net).  It only supports
ACL and CMUCL right now.  Could work with GCL in principle, but GCL
must store (simple-array double-float (*)) just like C would store
double x[n], and you also need to provide some means for getting at
the actual storage.

    Camm> Would a blas.o providing a gcl lisp interface into the blas (when
    Camm> fasloaded) properly belong in the gcl package, or as a separate
    Camm> add-on?  I'm a bit confused on what is expected to be included in a

I think that's up to you to decide what to bundle with gcl.

Ray



reply via email to

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