I've been playing around a bit over the last few days and have kind of hooked up maxima with mcclim, basically cargo-culting the listener app. The basic interaction works, and the computed expressions are displayed correctly. (Some random screenshots can be found at http://common-lisp.net/~rtoy. In particular, maxima-repl-boxed.png shows what the subexpressions should be.)
In this case, the output is computed as a string by maxima, and that is printed to the mcclim's *standard-output*.
However, to be able to present subexpressions (eventually), I changed the way output is done. I use maxima's capabilities of drawing to a terminal with cursor positioning and thus set the stream-cursor-position as needed.
This also works. Until I reach the bottom of the interactor pane. The pane never scrolls down and the prompt keeps getting overwritten.
I'm obviously missing something, but I don't know what. Anyone have some hints for this clim newbie?
Ray P.S. A current very hackish version of the code is available at common-lisp.net/~rtoy/maxima-repl-2005-07-02.lisp.