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, and ask left-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"