Maxima's REPL



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.