[Top][All Lists]

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

[Axiom-developer] New user introduction, a question about GraphXML2dot

From: Page, Bill
Subject: [Axiom-developer] New user introduction, a question about GraphXML2dot
Date: Tue, 25 Jan 2005 06:12:00 -0500


First a short introduction.

I am one of the current developers of the open source version
of Axiom, the computer algebra system originally developed by
IBM. Ref:

Axiom has a comparatively long history (30 years) of research
and development involving advanced programming languages for
the direct representation of formal mathematics. One result of
this research is a legacy of over 1,000 closely inter-related
algebra library modules implementing categories, domains and
packages of functions written in a language called spad (short
for scratchpad, the original name of the IBM project). There
is also a variant of spad now called Aldor which can server
both as a stand alone programming language and as the library
compiler for Axiom. See:

My interest in Stratego stems from the desire to find new high-
level tools to help maintain and extend the Axiom algebra
library. The initial goals are graphical visualization of the
library structure, optimization of the system build process
(which is complicated by cyclic dependencies (mutual recursion)
between the modules), and possibly rewriting of selected modules
from spad into Aldor.

In some ways Aldor is similar to Haskell, therefore I am quite
interested in how Stratego is being applied in that project.

Now my first question.

One of the things that lead me to Stratego happened to be a
quick search for a simple tool to convert a large GraphXML file
containing the Axiom algebra dependency graph into graphviz
(dot) format, hence GraphXML2dot. Of course since GraphXML2dot
is one of the programs in the collection Stratego utilities,
it turned out that this was not quite the "simple" tool that
I was hoping for. In order to use it I would have to learn
how it fits into the Stratego toolkit. Specifically I need
to learn how to parse an input GraphXML format file into
an ASF term, transform it via GraphXML2dot, and then render
the out ASF into actual dot format. None the less, sometimes
the taking the long route is worth the trip ...

I have successfully compiled and installed the most recent
versions of StrategoXT packages and the utilities (including
GraphXML2dot) on both Debian linux and on cygwin under
Windows. I have begun reading some introductory papers and
the reference manuals. But I find that I would really benefit
from a few simple tutorials which I have not yet found in
the documentation or on the Program Transformation web site.

So first, are such tutorials available? Could someone provide
references? Specifically, I would be interested in help to
complete my initial encounter with Stratego by learning to
use GraphXML2dot.

Second, I would be very interested in suggestions on how to go
about using Stratego in a more relevant manner. For example,
my understanding is that a necessary first step would be to
formally define the syntax of the spad language and if the
target is Aldor, then something similar is needed to generate
Aldor code output. Any suggestions and references related to
how to proceed with something like this would be very much

Bill Page.

reply via email to

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