On Sun, May 25, 2008 at 5:56 AM, Gabriel Dos Reis wrote:
> ...
> The fundamental point is that this particular semantics seriously
> inhibits code reuse.   There is no way to extend a domain.  Spad
> seems to promote copy-n-paste as way to add new domains.
> That is contrary to established software engineering practice.
>
> Martin Rubey writes:
> | I think, A add B is (currently) only well defined when the value of Rep in A
> | and B is the same. (well, at least roughly the same.)
> |
> | I admit that I do not understand (yet) why
> |
> | > my `*' was not being picked if I test with R=Integer.  Rather the one from
> | > IndexedDirectProductAbelianMonoid was being used, yet my coerce to
> | > OutputForm was used for printing
> |
> | I'd like to.
>
> signature subsumption.
>
> http://axiom-portal.newsynthesis.org/refs/articles/Davenport-1984-a_new_algebra_system.pdf

I think Gaby's answer makes good sense. The only thing that seems
missing is that the compiler give some kind of warning that operator
subsumption has occurred.

Concerning code re-use in SPAD: It seems to me that to a certain
extent, the "generic programming" features of SPAD trump the need for
extensive code re-use.  I think this tends to promote abstraction over
re-use. Considering how difficult it sometimes is to use large
libraries in C++ and Java, I am inclined to think that this might be a
good thing. The Axiom library already presents a large challenge to
new users of the system and it only covers a tiny part of all the
mathematics that might be of interest. I think re-using code is not so
much a problem as making sure that the resulting code remains
accessible - especially to the mathematicians.

It seems to me that code re-use in SPAD naturally takes a different
form than in conventional object-oriented programming languages. There
needs to be new constructions in the language (i.e. at the source
level) which more fully enable it.  As I have said several times
before, I believe this depends on implementing a more complete
categorical approach ("categorical" in the mathematical sense).
Nonetheless, some thought has already been given to this in the
current design. For example, it is interesting in Davenport-1984 to
read about the importance of the concept of SubDomain to operator
subsumption - the subject of this thread.

Regards,
Bill Page.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
open-axiom-devel mailing list
open-axiom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open-axiom-devel

Reply via email to