Maxima servermode: stability of commands....



>
> Well, attempting to share an instance of Maxima is problematic.
> There are a lot of global variables, and it's more or less
> impossible at present to guarantee that changes made in
> one session don't affect another session.
>
> Maybe there exists a "clear all" command i can issue for every call,
> making session as fresh as startup ?
>

You can issue a kill(all) command, but it only affects user-set variables,
function definitions, etc.  There is also a reset() function, which resets
many global variables.  It currently (5.9.3) does not reset the assume
database (I think this is a bug) or feature declarations.  There are
probably other settings that kill(all) + reset() does not reset.  These are
bugs, and should be fixed little by little.  If the client of a Maxima
server is a program which does not allow arbitrary Maxima commands to be
passed through, it might be easier to maintain a clean environment.

However, if any external packages are loaded which directly manipulate the
underlying Lisp by defining Lisp functions, setting Lisp variables, etc.,
Maxima does not know how to reset that state.

             -s