A Lisp where LLM agents are language primitives, not an SDK —
compiled to a fast bytecode VM, shipped as a single binary.
Stop rewriting the agent loop. Every LLM script grows the same scaffolding — retries, caching, cost caps, rate limits, tool dispatch, conversation state. Sema makes that scaffolding the runtime: your script stays the size of its idea, ships as a single binary, and your coding agent already speaks the language.
Sema is a Scheme-like Lisp where prompts are s-expressions, conversations are persistent data structures, and LLM calls are just another form of evaluation.
(defagent coder
{:system "You are a coding assistant."
:tools [read-file edit-file run-command]
:max-turns 20})
(llm/with-budget {:max-cost-usd 0.50}
(lambda () (agent/run coder "Fix the failing test in src/parser.rs")))- Playground — run Sema in the browser, no install
- Documentation — language guide, stdlib, internals
- For Agents — orienting a coding agent in a Sema codebase
- Source & releases — the core language, VM, and toolchain
This org is the home for the Sema ecosystem. The core language and runtime (bytecode VM, stdlib, LLM providers, LSP, DAP, notebook, formatter) live in the main repository; editor integrations and shared tooling are being broken out into their own repos here so each can ship on its own cadence.
MIT licensed · built in Rust · sema-lang.com