bablr logo

Welcome to <BABLR/>

Something for everyone...

Tool Authors

  • Support new languages after the fact
  • Define custom tools, e.g. type-aware linting
  • Define tools that can work on infinite inputs and those larger than system memory
  • Interoperate naturally
  • Developers want to use trusted tools when working on new languages

IDE Developers

  • Existing platforms use a mix of tooling like: LSP, ANTLR, Tree-sitter, TextMate
  • Our platform consists of:
    • CSTML: An untyped document format akin to XML/JSON
    • BABLR: A parser-based schema validator for CSTML documents
    • Paneditor: A web UI for semantic coding built on BABLR
  • So we can support multiple UX modes:
    • Voice gesture
    • Terminal editing
    • Online collaboration
    • Interactive devtools

Language Authors

  • Define languages in a way that supports tools that haven’t been made yet
  • Create new languages by extending existing ones
  • Designing tools that make it easy to:
    • Parse left to right (like people do)
    • Perform arbitrary lookahead
    • Maintain balanced spans
    • Generate helpful parse errors
    • Regex matching
    • Just-in-time tokenization
    • Skip the build step
    • Get the most out of Devtools

Experiments

Roadmap

Where are we going?
Where have we been?