axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] different axiom versions on mathaction


From: Page, Bill
Subject: [Axiom-developer] different axiom versions on mathaction
Date: Thu, 1 Sep 2005 10:12:35 -0400

Martin, 

On Thursday, September 01, 2005 8:21 AM you wrote:

> Did I understand correctly: Currently you save the content
> of every section into a file and then you say something like
> 
> axiom                (start axiom)
> for file in filelist
>   case type(file) of
>     axiom: )re file
>      spad: )co file
>     aldor: )co file
> )qu
>

Yes that is essentially correct except that what you write
as a loop, my program generates as a linear script like this:

1)  extract Axiom sections:
      section_n --> file_n.xx
        where xx = 'input' or 'spad' or 'as'

2)  in parallel generate script:

      axiom           (start axiom)
      )re file1.input
      )co file2.spad
      )re file3.input
      )co file4.as
        ...
      )yy file_n.xx
      )qu

        where yy = 're' if xx = 'spad' else 'co'

3)  execute script

4)  collect output into output1, output2, ... output_n

5)  replace section_n <-- output_n for all n

This is just for the Axiom sections. The same process is repeated
entirely once again for Reduce and then one more time for LaTeX.
Of course it is important that the LaTeX pass come last since it
must process sections created by the previous two passes.
 
> So maybe the following could be a solution: have a 
> LaTeX-syntax-wiki-switch like
> 
> \setAxiomVersion{patchnumber}
> 
> and
> 
> \setAxiomVersionCurrent
> 
> that quits the current axiom process and starts a new one 
> with the indicated pachnumber. Furthermore, these commands
> should print the indicated patchnumber... So this would
> result in the following structure
> 
> for version in versionlist
>   axiom--version       (start axiom)
>   for file in filelist
>     case type(file) of
>       axiom: )re file
>        spad: )co file
>       aldor: )co file
>   )qu
> 
> Would this be doable?

Well, I think what you wrote above would amount to repeating
all n commands m  times, once for each axiom--version.

> ... 
> Well, the idea is that I can write on IssueTracker
> 
> Up to Axiom version
> \setAxiomVersion{44}
> 
> the following produced wrong output:
> \begin{axiom}
>   code formerly producing wrong output
> \end{axiom}
> 
> However, meanwhile this is fixed, as you can see for example 
> in the current version 
> \setAxiomVersionCurrent
> 
> \begin{axiom}
>   code formerly producing wrong output
> \end{axiom}
> 

So in that case I think the following might work:

1)  extract Axiom sections:
      section_n --> file_n.xx
        where xx = 'input' or 'spad' or 'as'

2)  in parallel generate script include version changes:

      start axiom -version=current
      )re file1.input
      )co file2.spad
      )qu

      start axiom -version=44
      )re file3.input
      )qu

      start axiom -version=current
      )co file4.as
        ...
      )yy file_n.xx
      )qu

3)  execute script and append output of each session

4)  collect output into output1, output2, ... output_n

5)  replace section_n <-- output_n for all n

But when designing the page the author would have to keep in mind
that each version change results in complete loss of context.
The other thing to understand is that stopping and starting Axiom
sessions is much more expensive in computer time than actually
doing most calculations! The more version switches the longer the
author will have to wait when they click 'Save'.

Regards,
Bill Page.




reply via email to

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