Stefan Behnel wrote:
The same argument could be brought up against "cdef" vs. "def" (between which the semantic difference is *huge*)
There are a couple of differences: - 'cdef' and 'def' look very different (at least to me) because they *start* with a different letter. Whereas 'cdef' and 'cpdef' both start and end with the same letter, maknig tehm mcuh eazier to conufse. - There is much less semantic overlap betwen 'def' and 'cdef'. If you use the wrong one, you usually find out about it fairly quickly one way or another -- you get a syntax error (e.g. 'def struct'), or something doesn't work the way you expected (e.g. a function you thought you had exposed doesn't show up in Python). It's possible to accidentally expose a function, but only if you declare it with an implicit return type, which I never do when writing what I intend to be a C function (this could perhaps be made illegal to further reduce the chances of such an error). Mistaken use of 'cpdef' on a C attribute, on the other hand, would very often pass silently. -- Greg _______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel