Hasty Briefsbeta

双语

Baboon: Data Modeling with Automatic Evolutions and tagless binary codecs

3 months ago
  • #Compiler
  • #Schema Evolution
  • #Data Modeling
  • Baboon是一种极简数据建模语言及编译器,具有符合人体工学的声明式模式语法。
  • 特性:通过+、-、^运算符实现基于集合的结构化继承。
  • 自动派生JSON和UEBA(超高效二进制聚合)编解码器。
  • 具备演进感知的代码生成能力,支持迁移和手动操作存根。
  • 支持结构继承与名义继承、命名空间、包含和导入功能。
  • 集合类型包含opt(可选值)、lst(列表)、set(集合)、map(映射)及时间戳/UID原始类型。
  • 代码生成目标:C#、Scala,未来计划支持更多语言。
  • 通过去重C#输出降低二进制文件体积。
  • 提供Intellij Idea插件和VSCode/VSCodium扩展支持。
  • 当前限制:无模板功能、名义继承支持有限、不支持新类型/类型别名。
  • 标有(*)的条目未来可能改进。
  • 未被根类型引用的类型会从编译器输出中消除。
  • 外部类型需要自定义编解码器并谨慎处理。
  • 项目使用mudyla进行构建编排,支持多种构建和测试命令。