The Patch Languages are a small family of embeddable languages designed to co-exist without collapsing into a single compromised “one language to rule them all.” Each Patch language is intentionally tiny, opinionated, and good at exactly one thing.
Patch consists of three cooperating cores:
- Patch Seq – a concatenative execution language
- Patch Qed – a logic and proof-search language
- Patch Lisp – a meta-programming and macro language
Together they let programs be written, run, and justified without any one language doing work that belongs to the others.
Large languages accumulate features until their semantics blur. Patch flips the problem: each language stays small by refusing to own concepts better handled elsewhere.
Seq does not prove things. Patch Qed does not do I/O or mutation. Patch Lisp does not become a runtime everything-machine.
Patch languages share:
- a common value representation (numbers, symbols, lists, maps)
- a small IR vocabulary
- explicit calls across boundaries
Patch is not a monolithic language. It is a rack of small modules—like a modular synth.
- stack-based evaluation
- words as building blocks
- facts, rules, clauses
- goal solving + entailment
- macros and code generation
- AST transformation
- Seq owns execution.
- Qed owns reasoning.
- Lisp owns metaprogramming.
- No contamination.
- Interop is explicit.
Patch languages will remain small, clear, inter-operable, and exploratory.