llms.txt Content
# Sema
> A Scheme-like Lisp with first-class LLM primitives, implemented in Rust.
**Coding agents: read [Sema for LLM agents](https://sema-lang.com/docs/for-agents.md) first** — every way Sema differs from other Lisps in one short page. The essentials:
- New functions are slash-namespaced (`file/read`, `string/split`, `regex/match?`); predicates end in `?`; conversions use `->`. Legacy Scheme string ops are kept (`string-append`).
- Only `#f` and `nil` are falsy — `0`, `""`, and the empty list are truthy.
- Lists are vector-backed (O(1) `nth`, O(n) `cons`); mutable state is `define` + `set!` (there is no `atom`/`swap!`).
- Clojure-style surface: `:keywords`, `{:k v}` maps, `[1 2 3]` vectors, `#(* % %)` lambdas, `f"...${x}"` strings, `#"regex"` literals.
- LLMs are language primitives: `llm/complete`, `deftool`/`agent/run`, `llm/extract`, cassettes, OpenTelemetry, vector store.
The table of contents below indexes the full docs — fetch only the specific `/docs/**/*.md` pages you need, on demand. Do not load `/llms-full.txt` (the full concatenation, ~200k tokens) into context.
## Table of Contents
### Standard Library Reference
- [Standard Library](https://sema-lang.com/docs/stdlib.md)
### Core Types
- [Math & Arithmetic](https://sema-lang.com/docs/stdlib/math.md)
- [Strings & Characters](https://sema-lang.com/docs/stdlib/strings.md)
- [Lists](https://sema-lang.com/docs/stdlib/lists.md)
- [Vectors](https://sema-lang.com/docs/stdlib/vectors.md)
- [Maps & HashMaps](https://sema-lang.com/docs/stdlib/maps.md)
- [Predicates & Type Checking](https://sema-lang.com/docs/stdlib/predicates.md)
- [Bytevectors](https://sema-lang.com/docs/stdlib/bytevectors.md)
- [Typed Arrays](https://sema-lang.com/docs/stdlib/typed-arrays.md)
- [Mutable Containers](https://sema-lang.com/docs/stdlib/mutable.md)
### File & Data Formats
- [File I/O & Paths](https://sema-lang.com/docs/stdlib/file-io.md)
- [PDF Processing](https://sema-lang.com/docs/stdlib/pdf.md)
- [CSV](https://sema