#12808: Optimize ClassCallMetaClass using Cython
--------------------------------------------------+-------------------------
Reporter: hivert | Owner: jason
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-5.0
Component: misc | Resolution:
Keywords: classcall UniqueRepresentation | Work issues:
Report Upstream: N/A | Reviewers:
Authors: Florent Hivert, Simon King | Merged in:
Dependencies: | Stopgaps:
--------------------------------------------------+-------------------------
Comment (by SimonKing):
Replying to [comment:45 hivert]:
>
> There is a common usage of {{{ClasscallMetaclass}}} and
> {{{__classcall_private__}}} for elements in order to delegate the
creation to
> the parent.
> ...
> Now I don't see any element class having a nested class. So in an ideal
world,
> we'd like to have {{{PerfectMatching}}} in {{{ClasscallMetaclass}}} but
not in
> {{{NestedClassMetaclass}}}.
Good example! That's exactly along the lines of the
[http://groups.google.com/group/sage-combinat-
devel/browse_thread/thread/ae09de5a608525e5 sage-combinat thread] I
started: We have common use cases in which we want to combine the nested
class feature with the classcall feature, and thus someone has decided to
make classcall inherit from nested class, although there are examples in
which this is not needed.
Instead, one could either create a pure classcall metaclass on the one
hand, and a combined `ClasscallNestedClassMetaclass` on the other hand:
This is similar to the `DynamicClasscallMetaclass`, which is a combined
class for `DynamicMetaclass` and `ClasscallMetaclass`. Of course, having
"pure" `ClasscallMetaclass`, `NestedClassMetaclass` and
`DynamicMetaclass`, we would need to create four combined metaclasses to
cover all potential use cases.
Or: We could have a meta-metaclass that creates the combined metaclasses
automatically...
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12808#comment:46>
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.