← Back to context

Comment by aidenn0

3 days ago

Before your edit, I was going to object to your premise because it seems like a format could get worse just by more implementations being made.

After your edit, I see that it's rather that syntax-typed formats are prone to this form of implementation divergence.

I don't think this is limited to syntax-typed formats though. For example, TNetstrings[1] have type tags, but "#" is an integer. The specification requires that integers fit into 63 bits (since the reference encoder will refuse to encode a python long), but implementations in C tend to allow 64 bits and in other languages allow bignums. It does explicitly allow "nan", "inf", and "-inf" FWIW.

1: https://tnetstrings.info/

Agreed; I think there’s a problem with self-describing data as a concept. It just begs for implementation defined weirdness.