baboon Let the Baboon do the monkey job. Baboon is a minimal Data Modeling Language and compiler that provides ergonomic, declarative schemas and enforces reliable schema evolution. The compiler runs as a fast immutable multi-phase DAG transform, and is easy to understand and maintain. Highlights Set-based structural inheritance with + , - , and ^ operators , , and operators Automatic codec derivation for JSON and UEBA (Ultra-Efficient Binary Aggregate, a custom tagless binary format) Evolution-aware codegen: derives migrations when possible, emits stubs when manual work is required Structural and nominal inheritance (contracts) Namespaces, includes, and imports Collections ( opt , lst , set , map ) and timestamps/UID primitives , , , ) and timestamps/UID primitives Codegen targets: C#, Scala, will be more. Deduplicated C# output (reuse as much code as possible for lower binary footprint) Detailed language walkthrough with copy-paste examples: docs/language-features.md. Editor support Limitations No templates Only Enums, DTOs and ADTs Nominal inheritance support is limited to trait model Generic/type constructor support is limited to builtin collections (*) This is a DML, not an IDL, service/interface definitions support is extremely limited at the moment (*) are not preserved in the cogen output (*) No structural inheritance information is preserved in the transpiler output (*) Only integer constants may be associated with enum members (*) No newtypes/type aliases (*) No inheritance-based lenses/projections/conversions Points marked with (*) will/may be improved in the future. CLI See build configuration in .mdl/defs/actions.md and test configuration in .mdl/defs/tests.md. Notes All the types which are not transitively referenced by root types will be eliminated from the compiler output. Usages in structural inheritance are not considered references, so structural parents which are not directly referenced as fields and not marked as root s will be eliminated Forei...
First seen: 2025-11-29 21:45
Last seen: 2025-11-29 23:45