the standard library isn’t the same thing as the Swift
module, and i personally don’t think the terms “standard” and “core” libraries are helpful, given:
- if there exists such a dichotomy, then there is only one “standard” library, the
Swift
module, and - there exist many “core” libraries (e.g.
CoreData
) that don’t ship with the toolchain because many people use core as a synonym for important, and everyone thinks their own library is important.
but regardless, your assumption is correct, i believe that the most appropriate home for OrderedDictionary
would be in a toolchain module and not the Swift
module.
as @bbrk24 mentioned, integrating third-party repositories more deeply into SPM doesn’t help people who aren’t using SPM, and the requirement to use SPM is itself an obstacle to using these libraries.
i will also say that in my SPM-centric work, a large part of the friction arises from the need to fetch, version, and cache data from a github repository over the internet, whereas a “pure”, self-contained package that uses only toolchain modules can be built and tested in an isolated environment.
there are many experimental modules that ship with the toolchain (_Differentiation
? StringProcessing
?) that have added voluminous API to standard library types without going through evolution.