axiom-developer
[Top][All Lists]

## [Axiom-developer] RE: optional argument to aldor environment

 From: Page, Bill Subject: [Axiom-developer] RE: optional argument to aldor environment Date: Thu, 1 Sep 2005 06:32:05 -0400

Martin,

On Thursday, September 01, 2005 5:57 AM you wrote:
>
> I just noticed that you augmented the aldor environment on
> MathAction to allow for an optional argument, specifying
> some library.
>
> Although I do not exactly know the background, I think that
> this is not a good idea.

The reason I did this (only for \begin{aldor}[name] ... so far)
is because of the way that the Aldor compiler works.

In the case of SPAD a call to the compiler

produces lisp and object code in a location /NRLIB.NAME/...
determined by the

)abbrev NAME LongName

command inside the xxxxx.spad file and does not depend on
the file name. And on a later page you can write

)lib NAME

and the appropriate object module gets loaded.

In the case of Aldor a call to the compiler

)compile xxxx.as

produces lisp and object code in the locations xxxx.lsp and
xxxx.asy determined by the name of the xxxx.as file. Now in
a later page you need to write

)lib xxxx

When MathAction collections Axiom, SPAD and Aldor sections
for execution, it prepares a series of files - one for each
environment section. Until introducing Aldor, the names of
these files did not matter and they were just generated
randomly by the system. But because the name matters to
Aldor, it is very awkward to have to refer to an Aldor-
compiled object file later based on some randomly generated
largely numerical name.

> I'm quite certain we should reserve the optional argument
> to allow for specifying the version/patch number of the CAS
> in question, in line with my feature request
>
> http://page.axiom-developer.org/zope/mathaction/44IssueTracker
NeedsToBeAbleToUseOldAxiomVersions
>

As I explained earlier, because of the design of MathAction
it would be quite awkward to mix different versions of the
same external program on the same page. MathAction would
have to make a separate pass over the contents of the page
for each version of each external program. I think that
could soon become to prohibitive in terms of the time required
to parse and save a page.

A better idea, I think, would perhaps be to introduce a
paramter associated with the whole page - similar to the
way the pagetype is specified now.

I am really not convinced however how useful running
multiple version of Axiom on MathAction would be. If we
want to "freeze" the output to be that generated by a
certain version of Axiom for later reference, then we
could always just keep the static HTML that was generated
by that version but cut-and-paste.

> Is there maybe a different possibility to achieve the same
> goal? Furthermore it seems to me that the name specified
> should also be visible on the rendered MathAction page,
> which is not the case, currently.

The name is visible inside the compiler output section.
Click on the '+ aldor' link to expand it.

>
> I hope that there is a solution which does not make it more
> difficult to specify versions later on. (If this is not
> the case anyway, please ignore this email)
>

I don't think that this is that case, but I would never