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