axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] categories with parameters and defaults


From: Page, Bill
Subject: [Axiom-developer] categories with parameters and defaults
Date: Tue, 14 Mar 2006 13:09:43 -0500

Ralf, 

On Tuesday, March 14, 2006 9:58 AM you wrote:
> I wrote:
> > I suppose it would be better to write:
> > 
> >    default {
> >      Rep == T;
> >      square(t: %): % == per(m(rep(t), rep(t))
> >    }
> 
> NOOOO.... PLEASE DONT USE ANY REPRESENTATION IN A CATEGORY.

The 'Rep' is not a representation in a category. It is in
the default implementation of 'square' which is implemented
in some domain which satisfies this category.

Perhaps you might object that such defaults are best thought
of as virtual packages. I agree that in SPAD that that is how
they are implemented. But we still need to worry about
representation since ultimately they are used in the context
of some domain which satisfies the corresponding category.

> 
> Suppose someone later implements your category and just
> uses some other representation than T.

Say what? ;) This default clause is just part of the
definition of a category where T is a parameter of the category,
e.g. Martin's 'MyMonoid'. What type T represents depends on how
this category is "called", e.g. in

  MyMonoid(Integer, *$Integer)

T is Integer, so we have the representation

  Rep == Integer;

In other cases we have other representations

Regards,
Bill Page.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]