Hasty Briefsbeta

Baboon: Data Modeling with Automatic Evolutions and tagless binary codecs

12 days ago
  • #Compiler
  • #Schema Evolution
  • #Data Modeling
  • Baboon is a minimal Data Modeling Language and compiler with ergonomic, declarative schemas.
  • Features set-based structural inheritance with +, -, and ^ operators.
  • Automatic codec derivation for JSON and UEBA (Ultra-Efficient Binary Aggregate).
  • Evolution-aware codegen with migrations and stubs for manual work.
  • Supports structural and nominal inheritance, namespaces, includes, and imports.
  • Collections include opt, lst, set, map, and timestamps/UID primitives.
  • Codegen targets: C#, Scala, with plans for more.
  • Deduplicated C# output for lower binary footprint.
  • Intellij Idea Plugin and VSCode/VSCodium Extensions available.
  • Limitations include no templates, limited nominal inheritance, and no newtypes/type aliases.
  • Points marked with (*) may be improved in the future.
  • Types not referenced by root types are eliminated from compiler output.
  • Foreign types require custom codecs and careful handling.
  • Project uses mudyla for build orchestration with various build and test commands.