Hoist
Hoist is a domain-specific language for safely decomposing large documents via the RLM (Recursive Language Model) paradigm. It gives you a small, predictable set of primitives for splitting text, calling an LLM, and reassembling results — all with strong safety guarantees.
- Terminates by construction — every program finishes in bounded steps
- No side effects — the only external call is to an LLM
- Typed outputs — declare the shape you expect and Hoist enforces it
- Pipeline operator — chain
split,map,filter,join, andaskleft-to-right - Runs anywhere — bindings for Python, Node.js, and WASM
split document by "\n\n"
|> filter where length(it) > 100
|> map with ask "Summarize:\n{it}"
|> join with "\n"