> 1) Do you have any priorities for features you'd like to see sooner
> rather than later?

While debugging and fixing an issue in the current PolyBoRi wrapper with 
Alexander Dreyer we noticed the following behaviour in Cython which doesn't 
mix well with C++:

Consider the following code:

cdef BoolePolyRing ring = pbenv_ring()

where pbenv_ring() returns a reference to the currently active PolyBoRi ring. 

This is fine because Cython doesn't care whether a variable or a reference is 
returned. However, Cython re-arranges the code as follows internally:

cdef BoolePolyRing ring
ring  = pbenv_ring()

This is fine if BoolePolyRing is a C data structure because in C declaration 
is never code execution. However, this is not fine in C++ where declaration 
may be code execution: the default constructor.

(In our case the default constructor for BoolePolyRing would define a new ring 
and mark it as active and thus render the later assignment useless)

So my nr.1 feature request is to not re-arrange declarations if C++ is the 
language Cython compiles to.

Cheers,
Martin

-- 
name: Martin Albrecht
_pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99
_otr: 47F43D1A 5D68C36F 468BAEBA 640E8856 D7951CCF
_www: http://www.informatik.uni-bremen.de/~malb
_jab: [email protected]



--~--~---------~--~----~------------~-------~--~----~
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-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to