try·st·imu·li

13.8584

i came across “our operating systems are incorrectly factored” recently and have been contemplating its critque of “everything is byte sequences” with regards to versioned nodes.

Supporting only byte sequences, and nothing else, has caused wasted effort, code duplication, and bugs.

the primary advantage of versioned nodes over files it that it abstracts the references to other nodes. this allows different concrete representations to be operated on by the same application. but the applications must handle the format parsing and construction, which will tend to ossify the formats of data in the nodes.

could versioned nodes provide an abstract data tree that handled details like the text encoding? like, each concrete representation would have its text encoding, which gets decoded into the system/application text encoding?

i am torn between a self-describing abstract data tree and a typed/schema-described abstract data tree. the self-describing one is certainly easier, but the schema’d one fits nicely with the idea of formats.

published