Skip to content

Latest commit

 

History

History
16 lines (10 loc) · 1.03 KB

README.md

File metadata and controls

16 lines (10 loc) · 1.03 KB

Metago

A meta-language for building Go types with some interesting built in functionality:

  • Forwards and backwards compatibility through statically assigned type and attribute identifiers
  • A form of subtyping polymorphism
  • Self-differencing: err, d = a.Diff(b) produces a record of the differences between two objects of the same type
  • Self-patching: err = a.Apply(d) where d is a difference record generated by a.Diff(b) will transform a into b
  • Compact and efficient binary serialization/deserialization of both objects and difference records to io.Writer/io.Reader

Docs: GoDoc

views views 24h