4 ms·
Such curated sets make sense for "core functionality", like text handling, streaming, encoding/decoding, etc., which are used by many 'mainstream' applications
by chriswarbo 9y ago
Such curated sets make sense for "core functionality", like text handling, streaming, encoding/decoding, etc., which are used by many 'mainstream' applications (Web backends, console programs, etc.). Yet they raise the barrier to entry by placing a larger burden on developers.
For example, there's a long tail of one-off packages on Hackage that are really valuable to keep around, even if they're not actively maintained and bumping versions would cause breaking changes. I'm thinking of all the various logic frameworks, theorem provers, etc. which are out there; maybe to accompany some paper from the 90s. They're certainly not "core functionality", but every now and then it may turn out that one of them is exactly what is needed in some app/library. Every few years the major repos may drop the last working version of GHC, so someone may have to step up and do the required fixes, but that's few and far between.
These days I use a combination of Hackage (all versions of all packages), Cabal (to solve dependencies), tinc (to make Cabal deterministic) and Nix (to cache everything).