@rdd echoed a longstanding question, “Is the ‘tiny core with many libraries’ approach worth considering?” and invited comments:
@josh mentions that it’s likely necessary that we have a robust Quark system with a dependency manager before refactoring the classlib:
@shiihs clarifies the distinction between quarks and “libraries”, and points toward (the lack of) namespaces to manage collisions of third-party code
@jamshark70 compares to Pd’s concept of a vanilla library, with concern that you shouldn’t need to install externals to get a decent sounding set of basic filters
and later brings up the complicated issue of how do we (and have we historically) handled breaking changes to the library?
@muellmusik brings some historical context and raises the important point: it can only happen if one or a few core people really commit to a coherent plan.
@jordan: Supercollider does not have non-user space because there are no private methods. … Breaking everything and implementing access specifies might allow us to never break anything again… that might be worth it.
@muellmusik: While there’s no namespace there are conventions like “pr” private methods, “the case for splitting things should consider the specifics carefully and where things are really causing issues”, and the JITLib case, and a library/quark that provides the split-off libs for easy transition/recovery
the discussion of “public/private” methods continues for a few posts, whether private methods should be more strictly enforces/designed, see the original thread for those.