Programs as
meaning,
not syntax.
DUUMBI compiles semantic graphs — programs expressed in JSON-LD — directly to native code via Cranelift. No text. No parsing. Pure structure.
"@context": "https://duumbi.dev/ctx",
"@type": "duumbi:Function",
"@id": "fn:add",
"params": ["x", "y"],
"body": { "@type": "duumbi:Add",
"lhs": "x", "rhs": "y" }
}
Graph-native IR
Programs are JSON-LD graphs. No parser, no tokenizer — structure is the source of truth.
Native output
Cranelift backend produces optimised native machine code — no VM, no interpreted layer.
Semantic types
Every node carries meaning via linked-data vocabulary. Types are URIs, not identifiers.
AI-composable
Graph programs are trivially generated, merged, and refactored by language models.
From graph to native binary
Four stages transform a JSON-LD semantic graph into an optimized native executable.
Parse
JSON-LD source files loaded and deserialized via serde_json into a typed AST.
Graph
AST nodes inserted into a petgraph StableGraph. Schema validation and type checking.
Lower
Graph nodes translated to Cranelift IR. One function per subgraph, SSA form.
Link
Object file emitted, linked with C runtime via cc. Native binary output.
# compilation
.jsonld → parse → StableGraph → validate → Cranelift IR → native binary
# AI mutation
request → LLM → GraphPatch → validate → updated graph
Running in 60 seconds
Install, create a project, let AI build your first program.
Install
Create a project
$ cd myproject
Build with AI
✓ AI generated fibonacci(n: i64) -> i64
$ duumbi build && ./output
55