#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):
I think I can make subclassing work. I get
{{{
sage: class Test(Rings): pass
....:
sage: Test()
Category of test
sage: Rings()
Category of rings
sage: ZZ in Rings()
True
sage: ZZ in Test()
False
sage: hash(Rings())
15828944
sage: hash(Test())
76231760
sage: %timeit Rings()
625 loops, best of 3: 2.44 µs per loop
sage: %timeit Test()
625 loops, best of 3: 2.58 µs per loop
}}}
However, De Bruijn sequences would still not work as they are written now:
They are no singletons.
So, questions to you:
* Do we want to allow for subclasses? If we don't, shall the attempt to
create a subclass of a subclass of Category_singleton result in an error?
* Should the attempt to do `Category_singleton()` result in an error?
Namely, this would destroy ''all'' attempts to create a new singleton
category in that session.
* Do we want that `EnumeratedSets` is a singleton? Then de Bruijn
sequences have to change.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11900#comment:125>
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.