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.