[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] RE: string input
From: |
William Sit |
Subject: |
Re: [Axiom-developer] RE: string input |
Date: |
Sat, 21 May 2005 22:00:16 -0400 |
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