Skip to content

wisp

A small, explicit, C-like language that compiles to POSIX shell. One #!/bin/sh output that runs unmodified on ash, busybox, dash, bash, and zsh.

The compiler inserts every quote correctly and enforces an explicit type system, so the quoting, word-splitting, and implicit-coercion bugs that plague hand-written shell become structurally impossible.

fn main() -> int {
print("hello, world")
return 0
}

Runs on any POSIX shell

One #!/bin/sh output tested across dash, busybox ash, bash, and zsh. No runtime beyond POSIX sh and the applets busybox guarantees.

Type-safe by construction

An explicit type system with no implicit coercion. The compiler quotes every expansion, so injection and word-splitting bugs cannot occur.

Single static binary

The compiler is written in Go and ships as a static binary that runs inside minimal containers.

Testing is first-class

wisp test runs *_test.wisp cross-shell; --coverage reports honest line coverage against the original source.

Terminal window
curl -fsSL https://raw.githubusercontent.com/mitchellnemitz/wisp/main/install.sh | sh