[Maxima] Maxima servermode: stability of commands....
Stavros Macrakis
macrakis at alum.mit.edu
Tue May 2 11:07:32 CDT 2006
------=_Part_25489_14624490.1146586052771
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
>
> 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
------=_Part_25489_14624490.1146586052771
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
<div><blockquote class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(=
204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div style=
=3D"direction: ltr;"><div style=3D"direction: ltr;"><span class=3D"q">Well,=
attempting to share an instance of Maxima is problematic.
<br>There are a lot of global variables, and it's more or less<br>impossibl=
e at present to guarantee that changes made in<br>one session don't affect =
another session.
</span></div><div style=3D"direction: ltr;"><div><br>
Maybe there exists a "clear all" command i can issue for every ca=
ll, <br>
making session as fresh as startup ? <br>
</div></div></div></blockquote></div><br>You can issue a kill(all) command,=
but it only affects user-set variables, function definitions, etc. T=
here 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 featur=
e declarations. There are probably other settings that kill(all) + re=
set() does not reset. These are bugs, and should be fixed little by l=
ittle. If the client of a Maxima server is a program which does not a=
llow arbitrary Maxima commands to be passed through, it might be easier to =
maintain a clean environment.
<br><br>However, if any external packages are loaded which directly manipul=
ate the underlying Lisp by defining Lisp functions, setting Lisp variables,=
etc., Maxima does not know how to reset that state.<br><br> &nb=
sp; -s
<br><br>
------=_Part_25489_14624490.1146586052771--
More information about the Maxima
mailing list