
Ketil Malde wrote:
On Tue, 2007-09-11 at 12:01 +0100, Jules Bean wrote:
How can the format be portable if the representation isn't unambigously defined? And if it is unabmigously defined, what's wrong with using it for externally defined data formats?
It's portable because it works on other machines also running that exact version of Data.Binary, regardless of their CPU architecture (in particular, word size or endianness). That is the precise sense of 'portable' used here.
Okay. Data.Binary is not for persistence, then (since the format may change between versions of the library, and presumably between different compilers/RTS), but merely for transient serializing, as over a network connection.
I probably came over stronger than I intended. It is intended for persistence, too. My point is that, should a bug be discovered in Data.Binary, the maintainers may be forced to change the format and there is no mechanism in place for coping with that.