Will OrderedDictionary ever graduate?

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.

3 Likes