Well,

as for the original question(s), the answer is "No, the Sage core
library is not a pure Python/Cython library, so yes, essentially you
can include C/C++ code." --- there are already other examples (I think
some code of David Harvey for example).
I think formally, the way of the integration of the C/C++ parts of the
patch is allright, too.

But the "no binary objects whatsoever" criticism from Harald is
justified (due to the mercurial history, even erasing .png files later
will not help --- the increase in size will last forever), as well as
the question of maintainability.

Frankly, I see no benefit in having these new parts being coded in C/C+
+ compared to using the already existing Python/Cython framework of
ArithmeticSubgroups. To the contrary, the C/C++ code seems to use
internally C/C++ int's for the entries of the 2x2 matrices and is thus
vulnerable w.r.t. overflow issues --- on 32bit platforms earlier than
on 64bit platforms (one could have easily used e.g. int64_t's instead,
but the basic problem remains). Whereas the current Sage code uses
internally fast arbitrary precision Integer arithmetic.

Don't get me wrong, I definitely do want the #11709 code to be
incorporated as soon as possible, and not only because it's a first
time contribution to Sage (from Hartmut Monien, and someone else who
still has to remove the Umlaut in his name from at least one of the
patch files, IIRC)!

But as soon I can free a minimum of time of mine to do some
refactoring and enhancing of the Sage ArithmeticSubgroups I need for
my own work, I hardly believe that any C/C++  code will survive that
(only its functionality, refactored and enhanced, e.g. to work
directly with subgroups of SL2Z instead of PSL2Z, for e.g. generators
and cosets, special treatment of subgroups that are invariant under
the Shimura main involution, some nice speedups, ...).

Since we already have this thread open for discussion --- what do you
think are the benefits of having this functionality coded in C/C++
instead of Python/Cython (sorry if that question is too Off-Topic)?
The only benefit I can see is: "It already exists and is (almost)
ready for inclusion, whereas e.g. Chris Kurth's KFarey spkg does not
seem to be available any longer via the web".


Cheers,
Georg

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

Reply via email to