Hi Bill:

You wrote:
> I am not really interested in a linear syntax. (Although
> latex output is interesting for a different purpose, later
> on.) All I want right now is a line-by-line list of strings
> of the text representation. If I took this list of strings
> and print them in sequence, the result should look exactly
> what I see as a result of Axioms's command
> 
>   )set output algebra

and I wrote:

> Try:
> 
> (8) -> )lisp (|parseAndInterpret| "integrate(sin(x),x)::OutputForm")
> 
>    (8)  - cos(x)
>                                                              Type: OutputForm
> Value = ((|OutputForm|) WRAPPED "-" (|cos| |x|))

I now realize that does not do what you want, for multiline output. For example:

(26) -> )lisp (|parseAndInterpret| "expand((1+x)^10)::OutputForm")

   (26)
    10      9      8       7       6       5       4       3      2
   x   + 10x  + 45x  + 120x  + 210x  + 252x  + 210x  + 120x  + 45x  + 10x + 1
                                                             Type: OutputForm
Value = ((|OutputForm|) WRAPPED "+" ("+" ("+" ("+" ("+" ("+" ("+" ("+" ("+" ("+"
 ("**" |x| 10) ("*" 10 ("**" |x| 9))) ("*" 45 ("**" |x| 8))) ("*" 120 ("**" |x|
7))) ("*" 210 ("**" |x| 6))) ("*" 252 ("**" |x| 5))) ("*" 210 ("**" |x| 4))) ("*
" 120 ("**" |x| 3))) ("*" 45 ("**" |x| 2))) ("*" 10 |x|)) 1)

You want two lines:

    10      9      8       7       6       5       4       3      2

and 

   x   + 10x  + 45x  + 120x  + 210x  + 252x  + 210x  + 120x  + 45x  + 10x + 1

Back to the drawing board.

The print command in Axiom always returns void. Wouldn't that mean one has to
intercept the side-effect of printing? But that can happen anywhere in the code.
Right?
 
Would it be easy to write a Java script to parse the prefix lisp output string
in Value? This can then take care of the window width as well.

William


_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to