On Wed, Sep 16, 2009 at 2:41 PM, Gabriel Dos Reis wrote: > > Bill Page writes: > > [...] > > | The problem is that FriCAS and OpenAxiom have choosen different > | names for the machine ordering. In FriCAS it is called "smaller?". > | smaller?(alpha,beta) evaluates to true if the value of alpha comes > | before the value of beta in the machine ordering. OpenAxiom calls the > | same thing "before?". The problem is that the English root word > | "smaller" has the connotation of size rather than order. But even the > | OpenAxiom name seems vague and a little awkward to read. > > The OpenAxiom choice was based on long experience with that sort > problem for a difference language but in a much wider context and > audience: The C++ programming, as you know, has a limited support > for reflection called Run Time Type Identification (RTTI) that is used > for various things, including dynamic dispatch and exception handling.
I think it is good to cite an existing "standard" but I am not so sure how relevant it is in this context. Perhaps C++ is a little obscure for the average "mathematically-oriented" developer ... but no matter. > In various situations, it is necessary to order types in a some way. Yes. > The C++ standard uses the name 'before' (member function for the > class std::type_info) that tells whether a given type object comes > before another in the implementation-defined ordering. That solution > has been implemented and in use for nearly two decades; I have not > had heard of any complaints. > Perhaps there are better things to complain about? ;-) Granted: 'before?' is definitely better than 'smaller?' ! > I do not want to include any 'machine' in the name; Why? How about if implementationOrder?(alpha,beta) then ... > and I'm reluctant to let people believe that I'm sorting stuff. > This is just binary relation. Fair enough. Sorting is just one application of a defined order. We could say that alpha,beta is sorted if 'implementationOrder?(alpha,beta)' is true. > It is an obscure binary relation, much of which not related to > the actual mathematics that OpenAxiom wants to deal with. > That is part of the reasons why it is not glorified into a category > of its own. In OpenAxiom 'before?' is exported by SetCategory (1) -> )di op before? There is one exposed function called before? : [1] (D,D) -> Boolean from D if D has SETCAT In FriCAS it is exported by the category 'Comparable' (1) -> )di op smaller? There is one unexposed function called smaller? : [1] (D,D) -> Boolean from D if D has COMPAR and it is inherit by OrderedSet it from Comparable. Note: In FriCAS not all domains in OrderedSet are Comparable. > It is an obscure relation that is best ignored by most users > (including library writers.) Only OpenAxiom *runtime system* > developers (not the library developers) have to care about it. > Could you explain why you say only run-time system developers have to care about it? Are you claiming that this order relation it is not important for "mathematical" algorithms? Regards, Bill Page. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---