On 05/02/2018 22:47, Volker Braun wrote:
> On Monday, February 5, 2018 at 8:14:12 PM UTC+1, vdelecroix wrote:
>>
>> And without having gmpy2 it is hard to set pplpy a standalone
>> package.
>
>
>
> Obviously thats the only real argument here; The question is, whats in it
> for Sage users? None of your arguments are particularly convincing. >> And I see several point in making it happen
>> - a potentially much larger user base
>>
>
>
> In other words, by making ppl complicated to use from Sage we can get rid
> of all users on that side?
How complicated? It would help with another example that is not about
factoring 10. You again ignore the fact that most Sage users (not you)
are using the PPL interface through the Polyhedron/MILP classes and not
directly. I don't see how moving to pplpy would prevent any Sage
user from using it.
As a general remark, more integration with standard standalone Python
libraries such as gmpy2, numpy, scipy, sympy is a good move not a
negative one. Even from a Sage user point of view.
Note also that even though pplpy return gmpy2 mpz/mpq, Sage
Integer/Rational are accepted as inputs in pplpy classes thanks
to #29928 and the efforts in upstream gmpy2.
> A better implementation would be to make the integer implementation(s) a
> build-time option; pplpy could internally use a fused type for all
> available implementations.
This is indeed a good point that is very close to a discussion we had
with M. Köppe and J. Demeyer in #21725. Jeroen pushed hard to have it
the way it is with gmpy2 while I was more toward a fused type for return
values as you suggested. However, I now think that having a Python
module whose API is different with and without Sage is a bad thing (=
more confusing). The gmpy2 way is a simple way of having a Sage
complient and Python independent module.
Vincent