On 13/03/14 10:35, Ralf Hemmecke wrote:

> It's not really the same, but you might want to look into ExpressionTree
> 
> http://www-sop.inria.fr/cafe/Manuel.Bronstein/sumit/sumitdoc/node550.html
> 
> See also:
> https://github.com/pippijn/aldor/tree/master/aldor/lib/algebra/src/extree
> 
> This is, however, just a tree for the expression. There is no
> information in it where to position the respective subexpression on a
> output device. That would have to be done by some (tex/html/mathme/...)
> driver later. So in some sense ExpressionTree is only half of the
> answer. In Aldor, basically every (algebra) domain knows how to convert
> an element into an expression tree. However, the print routine for
> expression trees is currently not 2-dimensional in Aldor.
> 
> Would be nice to combine the FriCAS and Aldor way.

Yes, I'm all in favour of as much commonality as possible.

I guess, with this sort of thing, there is no right or wrong answer. It 
just depends on what the designers want to optimise. Does the functionality 
go in each domain, in which case the mathematics code is cluttered with 
boilerplate code, or does the functionality go in the drivers which gives 
less control over the output.

It would be interesting to know why the Aldor designers did it differently? 
Are there genuine reasons for the different approaches? Or is it just that 
the Aldor programmers never had time to build this functionality.

I had a look on the links you gave but I couldn’t find any of this 
top-level why-we-designed-it-this-way information. Perhaps the Aldor 
programmers are just as economical with the documentation as when they 
programmed the original SPAD?

I think it would be really good if this FriCAS code can be put into a state 
where changes can be made. Some of the changes that I would like are:

1) Support in output expressions for operator precedence so, for example, 
'/\' operator for Clifford algebra could have a different precedence to 
'/\' operator for booleans. (I realise input would have to be done 
separately).
2) Support in output expressions for graph theory so they know about nodes 
and edges.

Martin

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to