compiling linearalgebra



I know nothing about defsystem, but your proposal seems OK.
If somebody made this work, that would be great.

Here is a function I wrote sometime ago that compiles a CL file
if it is out of date and loads it --it might have worked for me
using gcl. I haven't tested it today

;; cload(fn) (compile and load) looks for a file named fn.lisp, fn.cl, or
fn.lsp.  If it finds
;; the file, (1) compile it if it is out of date and (2)load the compiled
file.

(defun $cload (fn)
  (setq fn (if (mstringp fn) (string-left-trim "&" (string fn)) (string
  (stripdollar fn))))

  (let ((fl nil) (lisp-extension `(".lisp" ".cl" ".lsp")) (fb)
    (bin-ext #+gcl "o"
      #+cmu (c::backend-fasl-file-type c::*target-backend*)
      #+clisp "fas"
      #+allegro "fasl"
      #-(or gcl cmu clisp allegro) ""))

    (while (and (not fl) (not (null lisp-extension)))
      (setq fl (concatenate 'string (coerce fn 'string) (pop
      lisp-extension)))
      (setq fl ($file_search fl)))
    (if (not fl) (merror "The file ~M was not found" fn))

    (setq fb (concatenate 'string (coerce fn 'string) "." bin-ext))
    (setq fb ($file_search fb))

    (if (or (and fl (not fb))
     (and fl fb (> (file-write-date fl) (file-write-date fb))))
 ($compile_file fl))

    ($load ($file_search fb))))

Barton

-----Raymond Toy <raymond.toy at ericsson.com> wrote: -----

>To: Barton Willis <willisb at unk.edu>
>From: Raymond Toy <raymond.toy at ericsson.com>
>Date: 07/19/2007 10:50AM
>cc: maxima at math.utexas.edu
>Subject: Re: [Maxima] compiling linearalgebra
>
>Barton Willis wrote:
>> If you use linearalgebra (or CVS mnewton), you might like to compile
>> the lisp code in linearalgebra ; do this using:
>>
>> map(lambda([s], compile_file(file_search(concat(s,".lisp")))),
>>    ["polynomialp", "mring", "lu","linalgcholesky", "eigens-by-jacobi",
>>         "linalg-extra", "matrixexp", "linalg-utilities"]);
>>
>
>Since these are all lisp files, would it make sense to include a
>defsystem file for them, so you could just load up another lisp file
>that would compile them all, if needed?  I think the affine package does
>that, as well as the lapack package.
>
>>
>> And by the way, this morning I can't CVS update. Is this my problem?
>
>I couldn't update this morning either.  It might be fixed now.
>
>Ray