2 ms·
Versioning is important. I wrote a library in Haskell for indexing a family of types by a natural number (representing the version). It includes some generics-b
by agentultra 7y ago
Versioning is important. I wrote a library in Haskell for indexing a family of types by a natural number (representing the version). It includes some generics-based machinery for enabling type-correct migrations from type n to type (n + 1) [0]. I've used it for migrating schema-less documents to formats with a strongly-typed schema.
I'm also using it for versioning event streams and it works well. It'd be really neat to be able to share the schemas of these messages in a wider context.
Versioning events and the stream is a useful property to have. More types the better.
[0] https://hackage.haskell.org/package/DataVersion-0.1.0.0/docs/Data-Migration.html https://hackage.haskell.org/package/DataVersion-0.1.0.0/docs...