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
-~----------~----~----~----~------~----~------~--~---

Reply via email to