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

Reply via email to