It's not so
totally obvious how one would for example make the representation of
Fraction(SUP(INT)) canonical.

I thought, there is a natural way.  For example,  canInv (x:INT)
(the canonical invertible factor) is defined as  signum x  (for x /= 0).
canInv(f : SUP INT) ==  canInv(lc(f)) :: SUP INT;
and cancelling the fraction of  num  and  den  in Fraction(SUP(INT))  is
by
     c := canInv den;   (num/c, den/c).

I am sorry if I have forgotten something.
Does this look natural?

Well, yes. That would probably every mathematicians way. I admit that FRAC(SUP(INT)) was not the best example, but I guess you understood what I meant, namely that there may be several good choices for a canonical form and without proper documentation, you cannot rely that the programmer of the Algebra library has chosen the same as you in DoCon.

I suggest   fraction(m, num, den),
a) where  m  may be  MtPrime  or  Generic,
b) this operation to be implemented by the Axiom library, not by the user,

Sorry, but we are not in a situation like in Maple or Mathematica. User
code is indistinguishable and treated in exactly the same way as the
library that comes with FriCAS. In Maple or Mathematica, they have a
kernel and then there are (interpreted) user functions. That's not the
case for SPAD files. Domains/Categories/Packages in user defined .spad
files are compile in the same way as library functions just like in any
other ordinary programming language.

I do not understand why does this matter.

You seemed to make a distiction (in (b)) between the Axiom library code and the user code. If *you* write code and it enters the "official" repository. Will you count that as user code, because you are just a user or as library code? If your code enters FriCAS, you will probably be asked to help maintaining it. Otherwise it faces the chance of becoming dead.

And as Waldek said, you can write MyFraction, which behaves exactly as Fraction except for a few functions that you override.

In Aldor one would even have the "extend" keyword and so could add new properties/functions to already existing domains.

But this team somehow announces:
     we are going to support at least this set of
     functions and operations and language extesion features.
     And this has a name:  "ghc-ext (language) + GHC library"
     (in addition to the standard Haskell-2010 and its library).

Yes, yes. I understand this. But you know how many FriCAS developers there are. Most of the burden is on Waldek's shoulders. So making a support promise is not so simple.

Each impementation announces whether it supports the standard of
Haskell-2010. This is very important for users.

Clear. I would be happy if there were a defined standard for SPAD. All there is is a vague document (the Axiom book) and the source code.

What is the notion of standard in Axiom and FriCAS community?

I would say it's the Axiom book. But this is a vague document in terms of specification of the SPAD language and the specification of the library.

The difference between the FriCAS developers and user is greater than
the difference between GHC team and GHC users.

Unfortunately true. I would like more users to speak up on the mailing list and slowly become involved in FriCAS development. Dream, dream.

Ralf

--
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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/fricas-devel?hl=en.

Reply via email to