4 ms·
This is essentially the first option I listed, which is already supported by MAGICL by loading MAGICL/EXT-LAPACK [1]. Since MAGICL is a library and not a compil
by reikonomusha 4y ago
This is essentially the first option I listed, which is already supported by MAGICL by loading MAGICL/EXT-LAPACK [1]. Since MAGICL is a library and not a compiled application, using LAPACK in the way you suggest is still a foreign dependency (now a C compiler, Fortran compiler, Lisp compiler, and the transitive dependencies of the *GEEV Fortran functions), even if at the end of the day it's basically packaged up in an end-user's application binary.
(It's probably out of the scope of this thread to get into the weeds of how Common Lisp is compiled as a standard language, and how specific compiler implementations like SBCL work. It suffices to say though that it's almost always not a simple matter of "get .o files and link them to your compiled Lisp", in no small part due to the popularity of
image-based development.)
It's perfectly reasonable to consider different deployment strategies, but "statically link Fortran code (essentially into the Lisp runtime)", to a user of MAGICL, is not an ordinary thing to do.
[1] https://github.com/quil-lang/magicl#extensions https://github.com/quil-lang/magicl#extensions