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

Comment (by nthiery):

 Replying to [comment:383 vbraun]:
 > Slightly related, I don't like the `_base_category_class_and_axiom`
 attribute. A heterogeneous list with some convention to treat the first
 element special is a terrible data structure. Just split it up into
 `_base_category_class` and `_axioms`.

 I agree it's not so nice. But there is a technicality preventing from
 storing the base category class by itself in an attribute (see the
 note at the bottom of the lazy class attribute
 _base_category_class_and_axiom). Well, you could but you'd need to
 wrap it somehow, typically in a tuple. Also handling them together has
 a small advantage since they are always set simultaneously, and this
 gives some guarantee of atomicity.

 Anyway, it's mostly an internal implementation detail that can be
 refactored later on if we then decide that there is a better solution;
 and the piece of it that is exposed (when a category implementer
 provides the attribute) gives a safe idiom.

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