I agree, thanks for pointing out this was tagged foundation
. It definitely seems like such a system:
- Should NOT be part of Foundation.
- Should at least be developed as a separate package, regardless of where it lives in a stable format. This would allow for iteration on design and thorough performance testing (using
swift-benchmark
) before 1.0. - Should focus on enabling core functionality like performant serialization so it's easy for third parties to write their own encoders and decoders. This package shouldn't reach 1.0 until that goal is demonstrated by outside developers.
- Should design for composability, or at least find some way so the multiformat goal is achievable, if not necessarily automatic.
- Dave's point about an opaque format is interesting. A high performance local serialization format might be valuable for those who don't need external readers.