BABLR
Fiscal Host: Open Source Collective
We develop next-generation tools for reading and writing code with the goal of bringing code literacy to everyone in the world

Contribute
Become a financial contributor.
Financial Contributions
Top financial contributors
1
Incognito
$5 USD since Apr 2025
2
Jim
$5 USD since Apr 2025
3
Abbey
$5 USD since Apr 2025
BABLR is all of us
Our contributors 5
Thank you for supporting BABLR.

Budget
Transparent and open finances.
$
Today’s balance$12.15 USD
Total raised
$12.15 USD
Total disbursed
--.-- USD
Estimated annual budget
$180.00 USD

About
BABLR is a new tech stack for working with source code as data. An example of something you might do with it is parse some code, use a script to edit it, and then save the edited source code overwriting the original. It is an API for the primary work of day-to-day software development, which is to say that it is also designed to be a groundbreakingly capable set of core APIs for a hackable IDE in the spirit of Github Atom (currently maintained as Pulsar).
The Core team currently consists of 2 contributors. Conrad Buck (conartist6) serves as the lead, and is the primary inventor of Bablr and it's associated technologies. Stirling Hostetter (stirlhoss) has been getting up to speed with the stack as well as maintaining the web infrastructure.
The Core team currently consists of 2 contributors. Conrad Buck (conartist6) serves as the lead, and is the primary inventor of Bablr and it's associated technologies. Stirling Hostetter (stirlhoss) has been getting up to speed with the stack as well as maintaining the web infrastructure.
The Tech Stack
Because we have built our technology without directly inheriting the biases or weaknesses of previous generations of this technology we have a unique perspective on the fundamental nature of an IDE. We think, to a much greater extent than others, that the web browser is the analogy for how an IDE should work.
To see why this is, take a moment to consider the analogy with me. Both an IDE and a modern JS-enabled web browser are a system for viewing and editing documents. Both need to provide APIs by which scripts can alter those documents. Both need to present textual data which is embedded in a richer tree structure which is implied but not directly visible.
CSTML
BABLR's core insight is that this is more than a superficial resemblance. We think the close similarity in the problem spaces means that we can directly leverage the architectural patterns of web browsers to create better IDEs. It is for this reason that the lowest layer of our tech stack is CSTML, a language inspired in no small part by HTML. Where HTML is a system for storing arbitrary natural language documents, CSTML is a system for storing arbitrary parse trees.
The resemblance between HTML and CSTML goes deeper too: like HTML, CSTML documents are designed so that they can be generated and consumed as a tag stream. The practical effect of this is that the serialization format can be used to copy a tree from one location to another with no memory overhead!
agAST
In addition to offering a stream format for parse results, we offer an in-memory tree format called agAST, which is intended to replace the currently-entrenched ESTree. Because this format competes with an existing format, it's worth spelling out what we see as the advantages:
To see why this is, take a moment to consider the analogy with me. Both an IDE and a modern JS-enabled web browser are a system for viewing and editing documents. Both need to provide APIs by which scripts can alter those documents. Both need to present textual data which is embedded in a richer tree structure which is implied but not directly visible.
CSTML
BABLR's core insight is that this is more than a superficial resemblance. We think the close similarity in the problem spaces means that we can directly leverage the architectural patterns of web browsers to create better IDEs. It is for this reason that the lowest layer of our tech stack is CSTML, a language inspired in no small part by HTML. Where HTML is a system for storing arbitrary natural language documents, CSTML is a system for storing arbitrary parse trees.
The resemblance between HTML and CSTML goes deeper too: like HTML, CSTML documents are designed so that they can be generated and consumed as a tag stream. The practical effect of this is that the serialization format can be used to copy a tree from one location to another with no memory overhead!
agAST
In addition to offering a stream format for parse results, we offer an in-memory tree format called agAST, which is intended to replace the currently-entrenched ESTree. Because this format competes with an existing format, it's worth spelling out what we see as the advantages:
- agAST trees are monomorphic: all nodes are exactly the same shape
- agAST trees are immutable: if the data was valid it will stay valid
- agAST can embed any tree: many conceptually-valid trees have no ESTree equivalent
- agAST trees can always be printed, even if you don't know what language is in the tree
- agAST trees can hold streams and replay them unchanged
BABLR
BABLR, a specific technology as well as the namesake of the organization, is how you will interact with CSTML and agAST. BABLR is the parser layer, built to be the core of a parser ecosystem meant to rival and eventually surpass the parser ecosystems maintained by ANTLR and especially Tree-sitter.
Our team
Conrad Buck
Admin
Stirling Host...
Admin