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