In reply to the comment 
(https://github.com/sagemath/sage/pull/36676#issuecomment-2067371677)

>> My fear would be that at some point there is a request not to use 
symbolics in some module, because Lisp is hard to install on some system. 

>That should not happen. Modularization is downstream to the sage library. 
Yes, we are restructuring some parts of the sage library to fit with 
modularization. But modularization should never be an obstacle in 
developing the sage library. If it ever be, the sage community might drop 
the modularization project.
We already witness multiple instances where the modularization project is 
cited as a reason not to merge certain PRs that only touch 
sage-the-library. How does this reality fit this view?

Moreover, once the modularization is in place, it will impose wide-ranging 
constraints on what functions from other modules you are able to use. 
Currently, you can use `sage.x` in `sage.y` for an arbitrary combination of 
`x` and `y`. The modularization project restricts this severely and you 
will only be able to use modules `x` that are declared as a dependency of 
`y` (the arrows in the picture in 
https://github.com/sagemath/sage/pull/35095). 
On Monday, April 22, 2024 at 5:22:36 PM UTC+8 Martin R wrote:

> Thank you for this list.
>
> I still don't see why you would name these distributions as you do, and 
> why you collect them as you do.  For example, as far as I know, symmetrica 
> is currently essentially only used by symmetric functions, Schubert 
> polynomials.  So, if symmetrica is such a burden to install, why would you 
> want to install it if you don't need them?
>
> On the other hand, combinatorial species will, after this summer, heavily 
> depend on gap.  Does this mean that you would want to move this part into 
> sage-groups?  Apart from the strange naming, I don't think that it will 
> make anybody happy if dependencies change frequently.
>
> Best wishes,
>
> Martin
> On Sunday 21 April 2024 at 23:42:37 UTC+2 Matthias Koeppe wrote:
>
>> On Sunday, April 21, 2024 at 2:30:15 AM UTC-7 Martin R wrote:
>>
>> Why would you separate mathematics into packages that have no more 
>> external dependencies from others, which at the same time may grow internal 
>> dependencies over time?
>>
>>
>> Let's just go through the list of distribution packages and their 
>> dependencies for concreteness. (All depend on *sagemath-categories* and 
>> thus on the basic arithmetic libraries gmp, mpc, mpfr, gmpy2)
>>
>> *sagemath-combinat* 
>> - non-Python dependency: *symmetrica* (
>> https://github.com/mkoeppe/sage/blob/t/32432/modularization_of_sagelib__break_out_a_separate_package_sagemath_polyhedra/pkgs/sagemath-combinat/pyproject.toml.m4#L65
>> )
>>
>> *sagemath-graphs*
>> - non-Python dependency: *boost *(
>> https://github.com/mkoeppe/sage/blob/t/32432/modularization_of_sagelib__break_out_a_separate_package_sagemath_polyhedra/pkgs/sagemath-graphs/pyproject.toml.m4#L73
>> )
>>
>> *sagemath-modules*
>> - non-Python dependency: *gsl* (
>> https://github.com/mkoeppe/sage/blob/t/32432/modularization_of_sagelib__break_out_a_separate_package_sagemath_polyhedra/pkgs/sagemath-modules/pyproject.toml.m4#L109
>> )
>> - Python build requirement: *numpy*
>>
>> *sagemath-groups*
>> - non-Python dependency (via *sagemath-gap*): *gap* (
>> https://github.com/mkoeppe/sage/blob/t/32432/modularization_of_sagelib__break_out_a_separate_package_sagemath_polyhedra/pkgs/sagemath-gap/pyproject.toml.m4#L52
>> *)*
>> - non-Python dependency (via *sagemath-modules*): *gsl* (see above)
>>
>> *sagemath-polyhedra*
>> - non-Python dependency (via *sagemath-glpk*): *glpk*
>> - non-Python dependency (via *sagemath-modules*): *gsl* (see above)
>> - Python runtime dependency: *pplpy*
>>
>> *sagemath-schemes*
>> - non-Python dependency (via *sagemath-modules*): *gsl* (see above)
>> - non-Python dependencies (via *sagemath-singular*, *sagemath-flint*, 
>> *sagemath-ntl*, *sagemath-pari*): singular, flint, ntl, pari (
>> https://github.com/mkoeppe/sage/blob/t/32432/modularization_of_sagelib__break_out_a_separate_package_sagemath_polyhedra/pkgs/sagemath-pari/pyproject.toml.m4#L61
>> )
>> - Python dependency (via *sagemath-singular*, *sagemath-flint*, 
>> *sagemath-pari*): *cypari2*
>> - Python dependency: *scipy*
>>
>> *sagemath-symbolics*
>> - non-Python dependencies: *ecl*, *maxima*, *singular* 
>> https://github.com/mkoeppe/sage/blob/t/32432/modularization_of_sagelib__break_out_a_separate_package_sagemath_polyhedra/pkgs/sagemath-symbolics/pyproject.toml.m4#L89
>> - non-Python dependencies (via *sagemath-flint*, *sagemath-ntl*, 
>> *sagemath-modules*): *flint*, *ntl*, *pari*, *gsl*
>> - Python dependencies: *mpmath*, *sympy*, *cypari2, numpy*
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/42323381-d68b-4d73-8da1-18dceaca27d0n%40googlegroups.com.

Reply via email to