Bill Page wrote:
> 
> On Tue, Nov 29, 2011 at 4:37 PM, Waldek Hebisch
> <[email protected]> wrote:
> > Bill Page wrote:
> >> ...
> >> A basic design principle of Axiom is that any domain that satisfies
> >> some category T can be used as a parameter where the formal parameter
> >> requires T. In other words we can always treat Integer as "just" an
> >> AbelianGroup or Ring if we want to. Why would we want to hide the
> >> extra properties of Integer?
> >
> > See answer to Ralf for one example. =A0Another one: Complex or
> > SAE claims that the result is a Field when argument is a Field.
> > Using
> >
> > Complex(AsRing(Complex(Fraction(Integer))))
> >
> > makes sure that result is not a field.
> >
> 
> Yes, this is a good reason. I suppose this can occur whenever some
> constructor involves conditionals?
> 
> > ...
> >> Forgetful functors look like a form of type coercion. We could say
> >> that Axiom automatically applies such coercions. If there is a good
> >> reason to want to force such coercions when they would not necessarily
> >> occur automatically, I wonder if it would not make good sense to
> >> support this syntactically rather than just in the library. E.g.
> >>
> >> =A0 =A0Integer::Ring
> >>
> >> could be equivalent to your AsRing(Integer).
> >
> > No, Integer is a Ring, so the coercion (if supported) would be
> > no-op.
> 
> You may call this something other than "coercion" if you wish.
> 
> > The point is that given a Ring you can test if say, R has GcdDomain.
> >  Forgetful functor makes sure that answer for such question is false.
> >
> 
> Yes, that is clear.  My point was only that perhaps it should be
> supported through some simply syntax rather than having to explicitly
> add such functors to the library for every possible thing we might
> want to forget.
> 


Well, this is one place where I would like to have categories
as paremetes:

AsCat(Dom : Cat, Cat : Category) : Cat == Dom

Unfortunatly, currently the above is illegal...

-- 
                              Waldek Hebisch
[email protected] 

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