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. ------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf _______________________________________________ open-axiom-devel mailing list open-axiom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open-axiom-devel