Subject: Fork of maxima for make it more embeddable.
From: Michael Filonenko
Date: Thu, 22 Dec 2011 08:38:33 +0200
Hello;
I try to do web interface for maxima. Web interface must be multiuser.
First time I used maxima process per user. But sbcl runtime make big
overhead.
Second time my web application (hunchentoot&restas stack) load maxima
using mk:defsystem and make maxima repl thread per user. Every time I
update sbcl, I need to recompile maxima manually. Also, I daemonize my
application and I need to control binary-output paths. This are the reasons
I chose asdf. Also asdf is supported by quicklisp - the most powerful common
lisp package manager.
I forked maxima and refactor it to make more embeddable into another
common lisp application.
Here it is git repo:
https://github.com/filonenko-mikhail/maxima
Changes
remove all mk:defsystem
remove archive/
create full asdf package (main package, share fortran packages)
refactor file system
refactor set-pathnames function
add fortran libraries on-fly compiling (thanks to f2cl/packages/*asd)
move quadpack from slatec to standalone package
USING
git clone git://github.com/filonenko-mikhail/maxima.git
cd maxima
(pushnew "/path/to/maxima/" asdf:*central-registry*)
(ql:quickload :maxima)
(cl-user::run)
run_testsuite();
You can use this version with restmax web repl for maxima:
https://github.com/filonenko-mikhail/restmax
Sometimes you can see web repl here: http://asvil.dyndns.info
--
With best regards, Michael Filonenko