LDM (Lua Data Model) aims to be a module to help working with what I call the Lua data model: tables and values that build graphs, DAGs1, trees, lists, etc.
Some aimed features:
- Clone / copy.
- Object / value identity, equality.
- Full or incremental2 delta, snapshots.
- Transformation of a general graph to a tree that can be serialized, e.g. by MessagePack or LuaJIT's string buffers.
- Schema definition and full or incremental validation.