Sigil 0.1.0
The first public release of Sigil, a practical Scheme for building standalone applications.
NOTE: Sigil is still highly experimental and changing fast, but don't let that stop you from trying it out and providing feedback!
Highlights
- Standalone executables: Bundle your application with all dependencies into a single binary (~1-2MB base size)
- Fast startup: Bytecode VM with incremental garbage collection
- Hygienic macros: Full
syntax-ruleswithsyntax-casesupport - Batteries included: JSON, HTTP client/server, sockets, process management, and more
Core Runtime (sigil-lib)
The foundation: bytecode VM, S-expression reader, incremental mark-sweep GC, and native bindings for I/O, filesystem, networking, and process management.
Standard Library (sigil-stdlib)
Nearly complete R7RS base with practical extensions:
(sigil core)- Pattern matching, records, delimited continuations, array/dict utilities(sigil math)- Trigonometric, exponential, and bitwise operations(sigil string)- String manipulation utilities(sigil path)- Cross-platform path handling(sigil fs)- Filesystem operations(sigil io)- Extended I/O primitives(sigil process)- Process spawning and pipes(sigil time)- Date/time operations(sigil exceptions)- Exception handling(scheme *)- R7RS compatibility modules
Build System (sigil-build)
Package-based workspace architecture with:
- Dependency resolution across workspace packages
- Multiple build configurations (dev, debug, release)
- Executable bundling with embedded bytecode archives
CLI Tools (sigil-cli)
Development workflow commands:
sigil build- Compile packages and dependenciessigil bundle- Create standalone executablessigil test- Run test suitessigil repl- Interactive developmentsigil format- Code formattingsigil changes- Release managementsigil cli- Install and manage Sigil installations
Libraries
| Package | Description |
|---|---|
| sigil-json | JSON parsing and serialization |
| sigil-http | HTTP/1.1 client and server with TLS support |
| sigil-socket | TCP/UDP networking |
| sigil-websocket | WebSocket client and server |
| sigil-sqlite | SQLite database bindings |
| sigil-git | Git repository operations |
| sigil-repl | Interactive REPL with readline |
| sigil-nrepl | Network REPL for editor integration |
| sigil-test | Test framework with assertions |
| sigil-format | S-expression code formatter |
| sigil-markdown | Markdown parsing with frontmatter |
| sigil-sxml | SXML document construction |
| sigil-ansi | Terminal colors and formatting |
| sigil-args | Command-line argument parsing |
| sigil-hooks | Extensible hook system |
| sigil-mcp | Model Context Protocol server |
| sigil-jwt | JWT token encoding and verification |
| sigil-docs | Documentation generation |
| sigil-web | Web application framework |
| sigil-publish | Static site generation pipeline |
| sigil-irc | IRC client |
| sigil-css | CSS generation from Sigil code |
Note: Library APIs may change between minor releases until 1.0. Core modules (sigil-lib,sigil-stdlib) aim for stability.
Platform Support
| Platform | Architecture | Status |
|---|---|---|
| Linux | x86_64, aarch64 | Primary development platform |
| macOS | arm64, x86_64 | Builds and runs, not yet extensively tested |
| Windows | x86_64 | Builds and runs, not yet extensively tested |
| FreeBSD | x86_64 | Cross-compiles, not yet tested on real hardware |
| OpenBSD | x86_64 | Cross-compiles, not yet tested on real hardware |
| NetBSD | x86_64 | Cross-compiles, not yet tested on real hardware |
| Web/WASM | - | Runs in browser via Emscripten |
Known Limitations
- R7RS Small coverage is not yet complete; full compliance planned for a future release
- Limited SRFI coverage
Getting Started
See the Getting Started guide for installation and first steps.