(Ironically, it's the pitch which gave me the urge to throw the other tiny pitch.)
I agree ByteStreamDecoder
would be better there. We might desire a protocol for encoders though.
public protocol StringEncodingProtocol {
...
var decoder: (any Unicode.ByteStreamDecoder)? { get }
var encoder: (any Unicode.ByteStreamEncoder)? { get }
}
Back to this pitch, how tight should names and implementations be?
- Turn a blind eye to concrete encoding implementations.
- Roll back the pitch to support only IANA things.
- Introduce unique protocol(s) to bind names and encoders/decoders.
- Hold on until other evolutions such as "Unicode Processing APIs" which will be depended on by string encoding name APIs are accepted.