I've been hacking at combining Maxima with AllegroServe.
I have a working version, but I am running into a bit
of a knowledge shortfall:
Could someone describe to me roughly how the Maxima top-level
works? I believe that mread -> meval -> displa implements
the REPL but there seem to be some flags set that I am missing
because that trio produces output with a superfluous 'displayinput'
flag.
If it helps, I am running Maxima and AllegroServe in the same lisp
image, and I am capturing Maxima's input from a get request entity,
implementing the REPL and firing back the output string. It's
quite naive, but I can see that we can replace displa with
a more suitable output parser -- and since meval is spitting out
structured Maxima forms, turning that into html or whatever
should be quite feasible.
With a little JavaScript, we could make pretty near any browser
an interactive front-end to Maxima.
Leo
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.