[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Axiom-developer] sbcl and Axiom

From: Page, Bill
Subject: RE: [Axiom-developer] sbcl and Axiom
Date: Thu, 27 Jul 2006 01:18:24 -0400


On Wednesday, July 26, 2006 10:58 PM you wrote:
> This is the sage notebook test web page (similar to sandbox 
> in axiom-developer):
> Here you can test sage and the computer algebra systems it 
> uses (Maxima...).

Yes. Not bad, is it? :-)

I am very impressed about how aggressively William Stein and
David Joyner are about developing and promoting Sage. I only
wish we had even half this much energy and a quarter of these
resources to work on the Axiom project!

Have you had a chance to listen to any of the audio of their
"First annual mini-conference and workshop" that was held in
February last year?

So far I have only listened to William Stein's introduction
but it is more than enough to make me very interested in the
rest of the two day meeting.

> I can see that they rely heavily on Python.  Programs like
> Maxima can be invoked using a wrapper function.

Yes. This is (more or less) the way Axiom and Reduce are
driven by the MathAction/LatexWiki software. But there is
a significant difference since Sage attempts to use Python
data structures themselves to implement a common underlying
computer algebra system. So data coming from Maxima is
recoded by the interface into internal Sage data structures
instead of just being printed out or converted to LaTeX.
Later these mathematical objects can be sent to some other
package such as GAP, or to gnuplot for display.

Of course it is not as easy as it sounds and I have some
serious doubts about to what degree this can be done in the
most general way possible (such as the stuff done by the
OpenMath people), but I expect that Sage solves most of
these sort of problems in more practical ways. And I suppose
users of Sage fairly quickly learn to avoid such problems
if they really do find it convenient to use more than one
package to solve a particular problem.

> It uses its own web server, which seems to be a Python
> client/server socket program (I think is part of Python
> libraries). Yes you are right.

Sage does however make use of some internal parts of Zope in
particular the Zope Database component to provide persistent
object storage. I doubt that this makes it fully compatible
with Zope but at least is speaking the same language in a
deep way. From what I can tell from the documentation it does
seem that Zope is installed as part of the Sage installation.
But it is not clear exactly what role it plays. I guess finding
this out will have to wait until I get a chance to actually
install this thing and look at how it runs inside.

> I wonder if the notebook engine can be used inside Zope/Wiki
> server.

Yes, I think this should be possible.

> I do not know how this can be useful for the work being done
> by Tim for the Axiom browser front-end.

I don't know exactly, but I am sure if Tim willing and able
to find the time to learn Python, then there is a lot of code
here which would not have to be re-designed for Axiom's
purposes. :) If he persists thinking that it is necessary to
write substantial portions of his code in Lisp, I would be
much less optimistic of a useful result.

Certainly it would not be too difficult to offer Sage as an
alternative user interface on the DoyenCD provided we can
solve the problem of writing a reasonable Python wrapper
function to interface Axiom with Sage. In principle this
should be no harder than the code that I wrote for MathAction
which as you know is really is very simple (even simplistic)
Probably only a few hundred line of Python at most with
some of it adapted from the MathAction python code.

I am thinking in particular about the way the NoteBook
interface makes use of AJAX. I have seen how this can work
to make user interaction much more efficient for typical
Google-style search engine interfaces, but to get AJAX to
a work smoothly as a "worksheet/notebook" style interface
is still rather much of a unknown art. Sage is the first
system I have ever seen that attempts to do this.

Last year I did have a lot of conversations with Kai Kaminski
about this. Kai was our Google-funded "Summer of Code" student
last year who developed the AxiomUI prototype. I had hopes
that this would evolve into a more complete AJAX solution,
but in the end there was not much time left after Kai dealt
with the problems of interfacing his Clisp-based interface
software to the Axiom interp/bootsys level. Maybe some of
this work would still be applicable to Tim's new user
interface project.

Bill Page.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]