On Friday, August 5, 2011 9:10:12 PM UTC+1, kcrisman wrote: > > [...] this is because Cython puts a lot of cimport and > other stuff long before the "regular" stuff in the C file. >
Slightly OT, but I recently noticed that Sage is using cython --disable-function-redefinition. The http://wiki.cython.org/ReleaseNotes-0.14 have the following to say about this option: Python functions are declared in the order they appear in the file, rather than all being created at module creation time. This is consistent with Python and needed to support, for example, conditional or repeated declarations of functions. In the face of circular imports this may cause code to break, so a new --disable-function-redefinition flag was added to revert to the old behavior. This flag will be removed in a future release, so should only be used as a stopgap until old code can be fixed. When I tried to remove the --disable-function-redefinition, I got lots of failures from the Sage library. This is not unexpected, as the release notes state. I tried to clean up some of the circular imports but I eventually ran out of steam. If anybody wants to play with it, here is my partial fix: https://bitbucket.org/vbraun/mq-for-sage-toric-varieties/src/677f54a67aed/trac_xxxx_uncircularize_cython_classes.patch -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org