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

Reply via email to