Fork of maxima for make it more embeddable.



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