From: Norbert_Paul on
I prefer using the maxima sources which are native Lisp.
I know there are implementations which use FFI and binary
Lapack libraries.

Norbert_Paul wrote:
....
> (5) Has someone else (except the maxima people who also cherry-pick some of
> the lapack routines) already made a lapack system for Lisp which I
> could use out of the box?

From: Mario S. Mommer on

Hi,

the f2cl distribution already has lapack. You need mk-defsystem to load
it, though.

http://www.cliki.net/mk-defsystem

I've never had the *read-default-float-format* issue you mention. Where
from did you obtain your f2cl version?

What follows is an excerpt of a .asd file I once wrote for loading and
compiling a fortran package. Maybe it helps.

Mario

------------
; -*- lisp -*-

(asdf:operate 'asdf:load-op 'f2cl)

(defpackage :lsode-asd
(:use :cl :asdf))

(in-package :lsode-asd)


(defclass compiler-options-mixin ()
((compiler-options :initform nil
:initarg :compiler-options)))

(defclass f2cl-module (module compiler-options-mixin) ())
(defclass f77-file (cl-source-file compiler-options-mixin) ())

(defmethod compiler-options ((c compiler-options-mixin))
(let* ((c-c-o (slot-value c 'compiler-options));f2cl-options))
(p-c-o (when (typep (component-parent c) 'compiler-options-mixin)
(compiler-options (component-parent c)))))
;; this is all it takes to override options from parent:
(append c-c-o p-c-o)))

(defmethod source-file-type ((c f77-file) (s module)) "f")

(defmethod perform ((o compile-op) (f f77-file))
(apply #'f2cl:f2cl-compile
(cons (make-pathname :name (component-name f)
:type "f"
:defaults (component-pathname f))
(compiler-options f))))


(defsystem lsode
:components
((:f2cl-module :lsode
:compiler-options (:common-as-array t
:package :lsode-f)

:components
((:file "lsode-f")
(:f77-file "dlsode"
:depends-on ("dstode" "lsode-f")
:compiler-options (:declare-common t))
(:f77-file "dstode" :depends-on ("lsode-f"))

;;; ...etc. The file lsode-f defines the lsode-f package, which only
;;; uses :common-lisp

From: Norbert_Paul on
Thanks for the answer.

Does it answer for question (4)?
Another system definition tool, defsystem?

So far, I prefer taking the pre-built packages from Debian.
Debian's cl-f2cl package doesn't have lapack.

There is also a Debian package cl-defsystem3. Is that
what you meant? I know, sooner or later I have to change
my habit taking all packages from Debian. But that's
so easy :).

Thanks for the source. I will try it.

Norbert

Mario S. Mommer wrote:
>
> Hi,
>
> the f2cl distribution already has lapack. You need mk-defsystem to load
> it, though.
>
> http://www.cliki.net/mk-defsystem
>
> I've never had the *read-default-float-format* issue you mention. Where
> from did you obtain your f2cl version?
>
> What follows is an excerpt of a .asd file I once wrote for loading and
> compiling a fortran package. Maybe it helps.
>
> Mario
>
> ------------
> ; -*- lisp -*-