Distributing QUILC
stylewarning opened this issue · 0 comments
stylewarning commented
Overall, the idea is to distribute QUILC in the following way:
- Add an entry-point to SBCL runtime to load a FASL after Lisp initialization. Get that upstreamed if possible.
- Get symbol resolution on Windows working in SBCL.
- Make
libsbcl
on Windows (x64), Linux (x64), Mac (x64) in Conda Forge (aka "CF"). Initial plan is to have the DLL runtime and a base core file. - Implement FASL loading DLLs (stub DLL + a monolithic FASL).
- Deploy
libsbcl
as well as an SBCL binary (so that shared libraries can be built) to CF so that it is installable. - Write documentation on how to install it.
- Get QUILC, QVM, and MAGICL to be buildable as monolithic FASLs.
- Review and clean up the QUILC GitHub Actions ("CI")
- Prepare QUILC for "real world" use, i.e., disable debugger, have an "error handling story" (TM), and validate initial library functionality with users.
- Understand how to capture the DLL/etc. runtime dependencies of QUILC (e.g. BLAS, LAPACK, etc.)
- Implement build and deploy for LibQUILC.dll on CF. (Maybe not the binary to start?)
- Revisit the QUILC readme.
Follow-on work (not in the purview of this issue) includes:
- Embedding the core file in libsbcl
- M{1,2} support for all of the above
- Embedding FASL files in the DLL
- Consider more robust ways of loading duplicated fasl files (maybe use ASDF?)
- Same stuff as above, but for the QVM