4
15
Fork
You've already forked sigil
2
Practical Symbolic Power https://usesigil.org
  • C 88.4%
  • JavaScript 6.4%
  • Shell 2.9%
  • Emacs Lisp 1.4%
  • Makefile 0.8%
Find a file
David Wilson b42b051669
Some checks failed
CI / Bootstrap (push) Waiting to run
CI / Dev Build And Tests (push) Waiting to run
CI / Release Debug Smoke (push) Waiting to run
CI / Cross Build (linux-amd64) (push) Waiting to run
CI / Cross Build (linux-arm64) (push) Waiting to run
CI / Cross Build (macos-amd64) (push) Waiting to run
CI / Cross Build (macos-arm64) (push) Waiting to run
sigil-openbsd Build failed
sigil-linux Build failed
ci/woodpecker/tag/woodpecker Pipeline failed
ci/woodpecker/push/woodpecker Pipeline was canceled
release-build.sh: recompile sigil-build before sigil-cli
sigil build sigil-cli bundles the BOOT seed sigil's sigil-build rather than
the release-tag workspace source, so shipped binaries silently ran a stale
build system. That broke web builds from the release binary: the seed
predated the asyncify DWARF-strip fix (bbe82d49) and the fail-loud empty-
module guard (73b591d9), so wasm-opt produced a poisoned module and the
build reported success. Force-recompile sigil-build (config-agnostic
bytecode) after deps install so every sigil-cli bundle carries the real
build system.
2026年07月12日 17:46:08 +03:00
.changes native: capture suspended fibers' exception handlers per-fiber 2026年07月11日 22:44:18 +03:00
.claude/skills docs: Add init template version update step to prepare-release skill 2026年02月18日 17:42:08 +02:00
.forgejo/workflows Add initial Forgejo Actions CI 2026年05月02日 10:53:50 +03:00
benchmarks Add CPS CSE benchmark 2026年05月03日 06:51:43 +03:00
bootstrap Extract sigil-lang from sigil monorepo as a two-package workspace 2026年04月25日 20:05:43 +03:00
docs docs: correct theme function signature in static-sites guide 2026年07月10日 14:42:17 +03:00
editor/emacs sigil-nrepl: add attach command + auto-target buffer module on eval 2026年07月10日 12:21:02 +03:00
examples sigil-wasm-audio: AudioWorklet upgrade + music-driven example 2026年07月12日 09:02:58 +03:00
notes vm: gate preemptive yields on a barrier so nested eval/compile extents stay atomic 2026年07月10日 23:39:21 +03:00
packages sigil-wasm-audio: fix SFX one-shot playback (undefined readSamples) 2026年07月12日 17:46:08 +03:00
scripts release-build.sh: recompile sigil-build before sigil-cli 2026年07月12日 17:46:08 +03:00
spike native: generation-checked _bcache to fix live-redefinition UAF 2026年07月10日 13:53:00 +03:00
test sigil-wasm-audio: AudioWorklet upgrade + music-driven example 2026年07月12日 09:02:58 +03:00
.gitignore Add cell-unification regression tests and live-redefinition probes 2026年07月10日 11:48:18 +03:00
.mcp.json Fix app install dependency resolution for standalone packages 2026年03月16日 16:20:29 +02:00
.testignore Fix raise-continuable in tail position and remove testignore entries 2026年04月10日 05:05:09 +03:00
.woodpecker.yml sigil-build: fail loudly when wasm-opt --asyncify emits an invalid or empty module 2026年07月09日 10:29:21 +03:00
CHANGELOG.md Rename web runtime to wasm runtime 2026年05月06日 11:41:11 +03:00
CLAUDE.md Add CPS optimization pipeline scaffolding 2026年04月03日 10:34:44 +03:00
dev-redirects.sgl Prototype sigil-test reintegration 2026年05月02日 09:13:20 +03:00
LICENSE Change license to BSD-3-Clause 2026年01月06日 07:17:35 +02:00
Makefile sigil-build: consult the header-aware store cache before the mtime shortcut 2026年07月08日 19:52:50 +03:00
manifest.scm Wire Binaryen Asyncify into the native-WASM build 2026年06月23日 23:50:56 +03:00
package.sgl Bump to 0.17.11 2026年07月12日 15:23:08 +03:00
README.md sigil-lib: gc — shutdown frees young_objects before vm->objects (fix release-mode teardown segfault) 2026年04月28日 08:46:39 +03:00
RELEASES.md Bump to 0.17.11 2026年07月12日 15:23:08 +03:00
sigil.lock sigil-cli: fix mcp serve startup death + bound eval/test/run-file 2026年07月07日 21:46:24 +03:00

Sigil

Practical Symbolic Power

Sigil is a programming language designed for building standalone applications and games. Write your program, compile it to a single binary, and share it with anyone, no dependencies required.

Why Sigil?

  • Standalone Distribution: Build applications that users can run without installing anything
  • Developer Experience: REPL-driven development with integrated editor experience (Emacs)
  • Cross-Platform: Targets Linux, macOS, Windows, FreeBSD, OpenBSD, NetBSD, and Web
  • Small and Fast: Minimal binary size with quick startup
  • Familiar Foundation: R7RS Small compatible, works with existing Scheme libraries and learning resources

Try It Now

Try Sigil in your browser , no installation required.

Get Started

Visit usesigil.org/docs/getting-started for installation instructions and your first program.

Documentation

  • Getting Started : Install Sigil and run your first program
  • Tutorial : Build a complete text adventure game from scratch
  • Guides : Deep dives into modules, macros, concurrency, and more
  • Reference : CLI commands, syntax, and standard library API

Quick Example

;; A simple greeting program
(define (greet name)
 (println "Hello, ~a!" name))
(greet "World")

Features

  • Static compilation to standalone executables and web applications
  • Pattern matching with the match macro
  • Flexible records with defaults, inheritance, and keyword-style construction
  • First-class and delimited continuations via call/cc and reset/shift
  • Channels for concurrent programming
  • Sockets for network programming
  • JSON and SXML for data interchange

Repository Layout

This repo (codeberg:sigil/sigil) hosts the user-facing sigil CLI, the binary you install and run. The language implementation, build system, and standard libraries live in dedicated repos so each can iterate on its own cadence.

Repo Role
sigil/sigil This repo. The sigil command-line tool, REPL, LSP, MCP server, and project scaffolding.
sigil/sigil-lang Language implementation: the C runtime (sigil-lib), the standard library (sigil-stdlib), and the compiler.
sigil/sigil-build Build system: package manifests, dependency resolution, and the build pipeline.
sigil/sigil-* Ecosystem libraries: sigil-http, sigil-json, sigil-tls, sigil-crypto, sigil-mcp, and more. Browse them via the library topic on Codeberg.

Apps written in Sigil pull dependencies from these repos via (from-git ...) declarations in their package.sgl. The CLI handles the rest.

License

Sigil and the libraries in this repo are released under the BSD 3-Clause License.


AI DISCLAIMER: This project was developed almost entirely with Claude Code (Opus 4.5). In case this matters to you, consider yourself notified.