Subject: Fork of maxima for make it more embeddable.
From: Robert Dodier
Date: Sat, 7 Jan 2012 14:16:34 -0700
Hi Michael,
About creating multiple concurrent Maxima sessions, take a look
at share/contrib/maxima-server.lisp, which implements a conventional
Unixish server. Server listens for clients, accepts a client, and forks
a child process to handle the client. Since child processes are in
separate virtual address spaces, changes to variables in one don't
affect another. I suppose the server could be run with chroot to
prevent access to the file system. maxima-server.lisp uses SBCL's
POSIX interface.
About your project to create a Quicklisp-able Maxima, I think that
is a valuable goal, and I'm 100% in favor of you (or anyone)
creating their own projects based on Maxima. That said, since
you have changed the build system a lot, I am hesitant to
merge those changes into Maxima. I am no big fan of defsystem,
but changing the build system could affect people who are
building packages or installations.
If you want to try (or not, that's OK too) to convince me & other
developers to merge in your changes, perhaps you can describe
how the build machinery will work. I can't guarantee that we'll accept it,
but I am interested to hear about it.
best
Robert Dodier