[Top][All Lists]

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

RE: [Axiom-developer] Lisp GUI libraries and a UI for Axiom

From: Page, Bill
Subject: RE: [Axiom-developer] Lisp GUI libraries and a UI for Axiom
Date: Thu, 7 Sep 2006 17:05:55 -0400

> Bob McElrath <address@hidden> writes:
> > As far as drawing graphs, why not just dump out a graph in
> > any kind of portable format (e.g. postscript, pdf, svg, etc).
> > A front-end can parse it and display it.  There are many
> > relevant lisp libraries:
> >
> >

Bob, have you changed your mind on this issue since we discussed
it last year? :)

BTW, when I was looking in the archives, I noticed some more
"lost comments" about the use of HTTP as an Axiom user interface
protocol as mentioned in a different but related thread:

On Thursday, September 07, 2006 2:59 PM Kai Kaminski wrote:
> Because there is a difference between the plot data and the
> resulting plot and producing the latter from the former isn't
> easy. The plot contains all kinds of objects like grid lines,
> axis, a title etc. This implies that we need tons of plotting
> code inside the core of Axiom. The plot data that Axiom
> produces should be an easily parseable description of the
> points/lines/surfaces that are to be displayed, as well as
> all additional options that the user supplied, like colours,
> axis etc.

I am inclined to agree with Kai, but for reasons different than
the ones I would have sited last year. Specifically, in the
development of Sage I see a "real life" example of the benefits
the modular approach. This does not just apply between the
computational "engine" and the graphical user interface, but
actually extends deeper into methods of computation and outward
into various modes of presentation of the same data for different
purposes. From my point of view Sage gets a lot of mileage out of
being able to mix and match the features of many different open
source computer algebra systems. The more modular they are, the
more flexible the integration between them can be.

But Sage takes a somewhat different large-scale "object-oriented"
view. When maxima returns an object to a variable at the Sage
command level, that complex strongly-typed object inherits a
number of properties and methods from it's parent. In the case of
a Maxima expression, at least one of these methods plots a graph.
But this is just an external interface to some graphics function
internal to Maxima. For example another method might involve
Maxima's symbolic integration or differentiation operations.

And just like in Axiom, objects can often be coerced or converted
from one class (domain) into another where they might inherit
quite a different set of methods and properties, for example
as a polynomial in Singular or a graph in gnuplot. So this is
not modularity for it's own sake but rather because we really
need to be able to perform these conversions as efficiently
and flexibly as possible. If the graphic data from Axiom was
represented only as a postscript file, it might be very
difficult to convert that to a form that could be scaled by a
graphic method in gnuplot.

> As for the GUI, different people will prefer different plotters
> (layout, output formats, ...).

Long ago at the end of the previous century when Axiom was
younger and the developers more optimistic ... ;) ... Axiom
had a virtual reality graphics interface called OpenInventor.
In fact this was part of the Texplorer browser integration
which was lost to us by corporate decision making. But you
can still see the vestiges of that marriage in the existing
instrumentation in the Axiom library graphics code. (Ref.
Mike Dewar discussed this briefly on this list almost 4 years

OpenInventor is still there and it's still open source:

and has a lot of excellent documentation.

But it's real status as open source seems a bit in doubt since
it seems that an enhanced version is being sold as closed source
by a company called Mercury ?

Wikipedia to the rescue ;)

So now OpenInventor exists as "Coin3d"

with dual GPL and commercial licensing!

Still confused? I am. It's hard to think of a better example
of the peculiar dynamics between proprietary and open source
software development!

Anyway, I wonder if having taken him apart, we could somehow
manage to put humpty-dumpty back together again? :)

Bill Page.

reply via email to

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