HOWTO document Maxima sessions?



On Fri, 2003-11-07 at 04:49, Michael Reimpell wrote:
> Well, unfortunately there is no such (useable) interface to maxima at the 
> moment. This will probably not change in the near future since the maxima 
> kernel doesn't have a well defined interface/communication protocol and James 
> Amundson seems to be the only developer contributing in this direction.

The current cvs version of Maxima contains some simple external
interface code based on delimiter strings in the output. I wrote it with
the intention of creating a generalized version of the interface TeXmacs
uses. Basically, one can define delimiter strings that will appear
around different types of input and output. The interface is documented
in doc/implementation/external-interface.txt.

Xmaxima uses a simple socket interface to communicate with maxima. It is
undocumented, but the implementation in server.lisp is simple enough to
be understood pretty quickly.

Personally, I would favor a communication protocol with higher-level
two-way communication. (I envision something where the external program
could request an operation or the value of a variable in a certain
format. Maxima would return output with an indication of the output
type, i.e., plain text, latex, mathml, postscript, binary data, etc.)
*However*, there is no current program to communicate with in this
manner, nor do I know of any plans for any such program. (OK, there may
be some plans in my head...) Until there is need for a higher-level
communication protocol, there really is no point in developing one.

Besides, my biggest concern at this point is the Maxima kernel.
Eliminating kernel bugs, mathematical and other, is the highest
priority.

> > GNU TeXmacs is a good solution here (http://www.texmacs.org). I'd
> > recommend to install the newest version (1.0.2.6), because I have improved
> > Maxima support in this version a lot.
> 
> If you claim TeXmacs to be a good solution than type "describe("integrate");". 
> Of course this is not TeXmacs fault as mentioned above.

You are referring to the fact that "describe("integrate");" will hang
the maxima-texmacs interface. That problem, ***and, to the best of my
knowledge, all other ways to hang the maxima-texmacs interface*** have
been eliminated by the new external interface code. It will take some
coordinating of releases before the new interface is usable by the
general public.

I, myself, use maxima either from the command line or from TeXmacs.
Now that the bugs with the maxima-texmacs interface are (in the process
of being) solved, I will probably use TeXmacs more.

--Jim