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.

Reply via email to