#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 SimonKing):

 Nicolas, please see if you can agree with my changes. If you can agree,
 then
 in the next step I'd like to try and add some more tests.

 First of all, I did not succeed in constructing an example in which the
 problem sketched above really occurs: All the time there was an error
 telling
 me that I did something wrong. This is the good news.

 Nonetheless, I think it is better to ask developers to lazy-import with
 the correct name. Hence, I replaced your workaround by an error,
 explaining what needs to be done (and this is what I want to add a doctest
 for).

 In addition, just to be on the safe side, I test whether the thing found
 in
 `base_category_class.__dict__[cls._axiom]` actually ''is'' `cls`. If it
 isn't,
 then there is a problem: Either it is a lazy import put under the wrong
 name,
 or we are in the scenario sketched above. I think we have good reason to
 be
 paranoid, because ''if'' a class is put into
 `base_category_class.__dict__`
 with the wrong key, then I guess we would have very difficult to debug
 crashes.

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