Sigil
Craft software worth sharing.
Sigil is a Scheme for people who want to make things — tools, games, utilities, creative projects — and share them with others. Write your program, compile it to a single binary, and give it to anyone. No runtime, no dependencies, no installation instructions. Just software that works.
A Scheme That Ships
Most Schemes are for learning or research. Sigil is for building.
You get the elegance of Scheme — simple syntax, powerful macros, REPL-driven development — combined with everything you need to make real programs: file I/O, networking, JSON, concurrency, and more. When you're done, sigil build produces a standalone executable you can send to anyone.
The language is small enough to feel personal. The tools are practical enough to be useful. The binaries are small enough to be delightful.
A Quick Taste
(import (sigil json)
(sigil http))
(define (handler req)
(http-response/json HTTP-OK
(json-encode
#{ message: "Hello from Sigil!"
path: (http-request-path req) })))
(http-serve 8080 handler)A web server in ten lines. No framework, no boilerplate, no node_modules.
Try It Now
Try Sigil in your browser → — no installation required.
What Will You Make?
Sigil is for personal software — the kind you make because you want it to exist:
- Utilities that solve your problems and might solve someone else's
- Games you can send to friends as a single file
- Tools that do exactly what you need, nothing more
- Creative projects that would be too small for heavyweight frameworks
If you've ever wanted to write something in a Lisp and actually give it to people, Sigil is for you.
Documentation
Getting Started
Install Sigil and run your first program in five minutes.
Tutorial
Build a complete text adventure game from scratch. No prior Scheme experience required.
Guides
Deep dives into modules, macros, concurrency, error handling, and more.
Libraries
Overview of available libraries: JSON, HTTP, sockets, databases, and more.
Reference
CLI commands, language syntax, project files, and the complete API reference.
Features
Sigil builds on R7RS Small with practical extensions:
- Pattern matching with
match - Records with defaults and keyword construction
- Delimited continuations via
reset/shift - Channels for concurrent programming
- Sockets for networking
- JSON for data interchange
- Static compilation to standalone executables (~500KB–1MB)
Get Involved
- Source code — read it, fork it, make it yours
- Issues — bug reports and feature ideas
- Examples — see what's possible