On Fri, 8 Apr 2011, Stavros Macrakis wrote:
< That's the easy part of a Webified REPL.
< The harder parts are what to do when Maxima asks questions before returning an answer, e.g.
<
< (%i2) integrate(x^a,x);
< Is ?a+1 ?zero or nonzero?
< n;
<
< (%o2) x^(a+1)/(a+1)
<
< or gives an error rather than returning an answer:
<
< (%i3) 1/0;
< Division by 0
< ?-- an error. To debug this try: debugmode(true);
<
<
< a bunch of people have banged their heads against these (seemingly trivial) issues.
<
< ? ? ? ? ? ? -s
<
Honestly, I don't think that you are correct.
In general, yes, but not when running
Maxima in the same Lisp image as the server.
These are exceptions and the webserver should
be able to use the exception handling mechanism
to respond appropriately (I am not claiming the
current exception handling suffices; I don't know,
but I suspect not). This is the inherent
superiority of a Lisp-based webserver: it can communicate
with Maxima in its own language, or even better,
Maxima can be its own webserver. I wouldn't
even bother hacking yet another string-based
front-end...
While I am on it, some commands (e.g. plot2d) are
called only for side-effects. These are more of a problem....
Leo
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.