I have now a patch which separates internal order needed for technical reasons and for printing from mathematical order, that is OrderedSet. The patch is at:
http://www.math.uni.wroc.pl/~hebisch/fricas/o2b.diff Some remarks: 1) Main addition is a new category Comparable: Comparable(): Category == SetCategory with --operations smaller?: (%,%) -> Boolean ++ smaller?(x, y) is a strict total ordering on the elements of the set. by default OrderedSet is Comparable, so it is possible to use OrderedSet everywhere Comparable is required. 2) Most places in algebra that used OrderedSet now use Comparable. This makes diff somewhat big (1393 lines), even though changes to code are quite small. In few places I replaced '<' (and variants) by 'smaller?'. 3) Main uses of order were search for kernels and printing, they now use 'smaller?' but otherwise should work the same. 4) Visible changes are that for example: integrate(min(1,z), z= 0..2) now fails, since min is no longer defined for expressions. User defined pattern matching works in different way, for example rule: sin(x)^(n | integer? n and n > 0) == (1-cos(2*x))/2 * sin(x)^(n-2) is no longer valid, since above n is an Expression(Integer). One has to use more complex version like: sin(x)^(n | integer? n and n::Integer > 0) == (1-cos(2*x))/2 * sin(x)^(n-2) Moreover, is seems that version above hits some problem in interpreter, because interpreter complains that it can not find '<' of reqested type (but correct '<' is available and the code runs OK). I am still testing the patch, but unless some problems show up I intend to commit it soon. -- Waldek Hebisch hebi...@math.uni.wroc.pl --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To post to this group, send email to fricas-devel@googlegroups.com To unsubscribe from this group, send email to fricas-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/fricas-devel?hl=en -~----------~----~----~----~------~----~------~--~---