#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,     |  ec340363a811bbafbb8cd5ff8f39e75db9872f9f
  #10193, #12895, #14516, #14722,    |     Stopgaps:
  #13589, #14471, #15069, #15094,    |
  #11688, #13394, #15150, #15506     |
-------------------------------------+-------------------------------------

Comment (by SimonKing):

 Replying to [comment:310 nbruin]:
 > Replying to [comment:309 SimonKing]:
 >
 > > So, it seems that we have to live with the guesswork.
 >
 > Or change the way `FinitePermutationGroups` is constructed. It's not
 that the base category of `FinitePermutationGroups` is ever going to be
 anything else than `PermutationGroups`.

 How?

 The current logic is: There is a category `FinitePermutationGroups`, that
 in the first place is stand-alone and only knows that it is obtained by
 some axiom, but it does not know ''which'' axiom. To work properly, it
 needs to find out which axiom it was obtained from.

 With the current logic, the category class has three ways to learn the
 construction information:
 1. If someone did `PermutationGroups().Finite()`, then
 `FinitePermutationGroups` would be returned ''and'' at the same time the
 construction information would be stored in
 `FinitePermutationGroups._base_category_class_and_axiom`.
 2. We could handcode
 `FinitePermutationGroups._base_category_class_and_axiom`.
 3. The correct value of
 `FinitePermutationGroups._base_category_class_and_axiom` could be guessed
 from the name, and then verified by calling the base category with the
 axiom. If an inconsistency arises, then an error is raised stating that
 the value can not be guessed.

 So, questions to Nils:
 - Do you intend to handcode everything? Then you need to cover many cases.
 - Do you intend to put `PermutationGroups().Finite()` into code that is
 executed at startup time, and similarly for ''all'' other categories with
 axiom? Then, the startup time would likely to increase, and it would not
 be less work than the other way to handcode the construction.
 - Do you intend to change the logic totally? This would mean to re-write
 Nicolas patch from scratch.

--
Ticket URL: <http://trac.sagemath.org/ticket/10963#comment:311>
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