Write the lambda. Run on the metal.
A complete R7RS-small Scheme implemented in Zig. Compile to native binaries via LLVM on AArch64 and x86_64 — so the source stays elegant and the machine stays busy.
curl -fsSL https://kaappi-lang.org/install.sh | bash
Everything R7RS asks for, and the parts that make it fun.
Every identifier from Appendix A is implemented — then continuations, a native compiler, and an FFI on top.
Complete R7RS-small
600+ built-in procedures, 32 syntax forms, all 16 standard libraries — every identifier from Appendix A.
First-class continuations
Multi-shot call/cc via stack copying, plus dynamic-wind and call/ec for escapes.
Compile to native code
Compile Scheme to native binaries via LLVM on AArch64 and x86_64 — closures, tail calls, and fixnum arithmetic run at full speed.
178 SRFIs
Lists, strings, hash tables, vectors, threads, formatting, char-sets — 12 built in, 162 portable.
C FFI with callbacks
Call shared libraries from Scheme, and pass Scheme procedures where C expects a function pointer.
OS threads & fibers
Real OS threads via SRFI-18, plus green fibers with channels. Pre-fork and threaded HTTP servers.
Small forms, full language.
Run these yourself in the browser playground — no install needed.
(define (fib n) (if (< n 2) n (+ (fib (- n 1)) (fib (- n 2))))) (fib 30) ;=> 832040
(define-syntax my-when (syntax-rules () ((_ test body ...) (if test (begin body ...))))) (my-when #t (display "hello"))
(define-library (math) (export square cube) (import (scheme base)) (begin (define (square x) (* x x)) (define (cube x) (* x x x))))
Scheme will change how you think about code.
Written for programmers who already know Python, JavaScript or Ruby and nothing about Lisp. It starts at the REPL prompt and builds one runnable example at a time, with exercises at the end of every chapter.
Install it, meet the REPL, run your first program.
3 chaptersData types, lists, control flow, functions, bindings, higher-order functions, I/O.
7 chaptersMacros, libraries, records, error handling, continuations.
5 chaptersThe SRFI library, the C FFI, concurrency.
3 chaptersLearn Kaappi on video.
Learn the Language
From your first REPL session to exact arithmetic, tail calls, macros, continuations and error handling.
Watch →Kaappi in Practice
Fibers and threads, files and the command line, JSON, HTTP, SQLite, packaging — and shipping a tool as one native binary.
Watch →The Workshop
Write and test your own library, the tool belt, the debugger, the compiler pipeline, calling C — and a shipped web app.
Watch →Short, one idea at a time, and every line of code on screen is real output from the Kaappi binary. More at @KaappiScheme.
Documentation
User Guide
Installation, REPL features, the language tutorial, and the command-line reference.
Start here →Browser Playground
Edit and run Scheme in the browser. WASM-powered, no install required.
Open →Interactive Tour
12 guided lessons from expressions to macros, with live code and challenges.
Start →Procedure Reference
All 600+ built-in procedures with examples, organized by domain.
Browse →SRFI Support
All 178 SRFIs, the standard libraries, and how to write your own.
Browse →Ecosystem
Web framework, Redis, PostgreSQL, HTTP/HTTPS, JSON — and the thottam package manager.
Explore →Cookbook
Build a REST API, serve HTML, process JSON, write tests — practical recipes for real programs.
Cook →FAQ
Production readiness, platform support, comparisons to other Schemes, and deployment.
Read →Cheatsheet
The language on one duplex A4 sheet — syntax, procedures, CLI, and REPL. Print it, pin it.
Print →Brew a REPL and start evaluating.
Or try it in the browser first.