On Sat, Sep 28, 2024 at 3:02 AM Matthias Koeppe <matthiaskoe...@gmail.com> wrote: > > On Friday, September 27, 2024 at 2:25:07 PM UTC-7 axio...@yahoo.de wrote: > > The diagram you link to indicates that sagemath-categories is almost at the > bottom, whereas sagemath-symbolics is almost at the top of the hierarchy that > you propose. > > > That's right. > > > However, the PR includes a file > > src/sage/calculus/all__sagemath_categories.py > from sage.calculus.functional import diff, derivative, expand, simplify, > taylor > > and many similar files, e.g. src/sage/combinat/all__sagemath_categories.py, > src/sage/groups/all__sagemath_groups.py, importing things like > from sage.groups.generic import (discrete_log, discrete_log_rho, > discrete_log_lambda, linear_relation, multiple, multiples, > order_from_multiple) > > All of these are then imported by src/sage/all__sagemath_categories.py > > > Yes, that's right. That's the design.
Yes, and it's called spaghetti design. Making things only more complicated, confusing, and difficult to work with. Covering the contents of sagelib with ~20 (or ~30) confusingly named "distributions" (sagemath-categories and sagemath-objects two of them), most of them containing well over 50% of sagelib functionality, with contents of each of them not discussed anywhere - apart from the current thread here, it seems. One important side effect of this is that with this, a change in sagelib which would work in the current design might break some of these ~20 distributions, meaning that one would need to run ~20 times more testing rounds, for each of these distributions, and understand why a breakage happens, say, in distribution A. And then, fixing the breakage in distribution A might induce a breakage in distribution B, as they overlap in hard to keep in mind, spaghetti-like, ways. So you'd in turn have to fix B, etc. ad nauseam, slowing development down even more. It's bad design, it will only slow down the development, it should not go forward as is. A much more meaningful design, and an obvious improvement, would be to have a (say) sagemath-smallcore, where, say, 70% of sagelib functionality is, with the remaining parts based off this sagemath-smallcore. So if you don't touch anything in sagemath-smallcore, then you don't break seemingly unrelated "distributions". > > > I don't think that I understand the purpose of sagemath_categories. > > > Per its tagline, this distribution provides "Sage categories, basic rings, > polynomials, functions". The contents is not the purpose. What is its purpose, what does it provide as a coherent software component, not as a collection of seemingly unrelated things ? Dima > > -- > 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/58728851-e053-4923-a433-36077490a781n%40googlegroups.com. -- 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/CAAWYfq3WnGq9T3T5RkAoyU9rA2FPuFhQtoNPqJGPsPSRpZXT2g%40mail.gmail.com.