#6637: standardize the interface to TransitiveIdeal and friends
-------------------------------------+-------------------------------------
Reporter: nthiery | Owner: mhansen
Type: enhancement | Status: needs_info
Priority: major | Milestone: sage-6.3
Component: combinatorics | Resolution:
Keywords: backtrack, | Merged in:
enumerated set, transitive | Reviewers: Travis Scrimshaw
closure, days57 | Work issues:
Authors: Sébastien Labbé | Commit:
Report Upstream: N/A | 3191690431cfe1614444004863b15a331941ad00
Branch: | Stopgaps:
public/ticket/6637 |
Dependencies: #14052 |
-------------------------------------+-------------------------------------
Comment (by slabbe):
Replying to [comment:45 tscrim]:
> As I recall, metaclasses are not supported in extension classes by
Cython. The metaclass should not change the speed since it's only
called/used upon object creation.
Ok, now I see what you mean. When the class is `cdef`, then the
`__classcall_private__` do not get called instead of the `__init__`:
{{{
sage: f = lambda a: [a-1,a+1]
sage: RecursivelyEnumeratedSet([0], f)
A recursively enumerated set (depth first search)
sage: RecursivelyEnumeratedSet([0], f, structure='symmetric')
Traceback (most recent call last):
...
TypeError: __init__() got an unexpected keyword argument 'structure'
}}}
I also saw in the
[http://www.sagemath.org/doc/reference/misc/sage/misc/classcall_metaclass.html
doc] that: "''For a Cython class (not cdef since they doesn’t allows
metaclasses)''"
--
Ticket URL: <http://trac.sagemath.org/ticket/6637#comment:48>
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/d/optout.