#11900: Serious regression caused by #9138
----------------------------------------------------------------------------------------+
Reporter: SimonKing
| Owner: tbd
Type: defect
| Status: needs_work
Priority: critical
| Milestone: sage-4.8
Component: performance
| Keywords: categories regression
Work_issues: Laurent series rings are fields. Add docs. Don't use is_ring and
friends | Upstream: N/A
Reviewer: Jeroen Demeyer, Nicolas M. ThiƩry
| Author: Simon King
Merged:
| Dependencies: #9138 #11911
----------------------------------------------------------------------------------------+
Comment(by SimonKing):
Replying to [comment:127 nthiery]:
> Replying to [comment:126 SimonKing]:
> > > If we don't, shall the attempt to create a subclass of a subclass of
Category_singleton result in an error?
> >
> > I think a big fat warning in the docs should be enough.
>
> +1. The above should be just explained.
Meanwhile I think raising an error would not hurt. Namely, `__classcall__`
can easily test whether the given class is anything that is not a direct
subclass of Category_singleton. Hence, subclassing Rings will be illegal,
and calling Category_singleton() will also be illegal. And moreover, this
test would only happen ''once'', namely before creating the unique
instance of the singleton. So, if will have no performance penalty for
`%timeit Rings()`.
> > I think we do want that enumerated sets form a singleton.
>
> +1. But we don't necessarily have to do it in this patch if this is
inconvenient.
OK. I am now testing a patch version where `EnumeratedSets` is the only
singleton that is not implemented using `Category_singleton`.
> Especially since the copy can easily be done with something like:
> {{{
> class DeBruijnSequences
> ...
>
> _call_ = EnumeratedSets.__dict__['_call_']
> }}}
Can it use a method of one class for another class that is not a subclass?
You are right that it should be a use case of category methods (IIRC these
are methods that are inherited by subcategories).
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11900#comment:128>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.