#10963: More functorial constructions
-------------------------------------+-------------------------------------
       Reporter:  nthiery            |        Owner:  stumpc5
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.1
      Component:  categories         |   Resolution:
       Keywords:  days54             |    Merged in:
        Authors:  Nicolas M. Thiéry  |    Reviewers:  Simon King, Frédéric
Report Upstream:  N/A                |  Chapoton
         Branch:                     |  Work issues:
  public/ticket/10963                |       Commit:
   Dependencies:  #11224, #8327,     |  478de48553d203516cddb47e0cb89c34ccc210ee
  #10193, #12895, #14516, #14722,    |     Stopgaps:
  #13589, #14471, #15069, #15094,    |
  #11688, #13394, #15150, #15506     |
-------------------------------------+-------------------------------------

Comment (by SimonKing):

 Replying to [comment:331 nbruin]:
 > Right. I was expecting something like that. The fact that each has to
 refer to the other is suspicious to me.

 +1.

 > What is the scenario that makes this absolutely necessary to be there
 right from the start? Wouldn't it be possible for there to be only one
 link? Perhaps when that link is actually exercised the other one can be
 put in place.

 You can not know what end of the link will be called first. The user could
 first do `FinitePermutationGroups()`, or `PermutationGroups().Finite()`.
 You
 have no way to know what will happen first. Of course, you can make it so
 that
 starting with one end of the link will make the other and of the link
 work. But you don't know at what end you start and thus need to implement
 ''both'' directions of the link.

 ... unless you forget to think about the ''ends'' of the link, and start
 thinking about
 the ''link'' itself---and make it so that any attempt to access either end
 of
 the link will use the information that is stored in the link (see the
 suggestion in my previous post).

 > My default reaction would be that !FiniteDimensionalAlgebras needs to
 know about Algebras because it needs to inherit the properties of
 Algebras, but is it absolutely necessary for Algebras to know about a
 !FiniteDimensional version, even before it is instantiated?

 I think so.

 > My default would be that `FiniteDimensionalAlgebras` only registers
 itself with `Algebras` when it gets instantiated, if that is necessary at
 all. That requires finding a solution for `Algebras().FiniteDimensional()`
 (is that how you call it?) when that happens before
 `FiniteDimensionalAlgebras` gets imported. Does that happen at all?

 Sure. This is the default scenario.

--
Ticket URL: <http://trac.sagemath.org/ticket/10963#comment:333>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to