Language page — context, influences, and learning notes on the 100hellos site.
Source on GitHub (100hellos/hare)
docker run --rm --platform="linux/amd64" 100hellos/hare:latest
Read the repo README, or fork the project and customize it.
For an interactive shell:
docker run --rm --platform="linux/amd64" --entrypoint="" -it 100hellos/hare:latest zsh
Hare is a systems programming language designed by Drew DeVault. It targets POSIX-like kernels and produces statically linked, MUSL-compatible ELF binaries by default—perfect for the Alpine-based images used in 100hellos.
hare driver wraps the compiler (harec), QBE backend, assembler, and linker.hare build -t aarch64 produces binaries for other architectures with zero extra flags.use fmt;
export fn main() void = {
fmt::println("Hello World!")!;
};
use fmt; imports the fmt standard-library module for formatted I/O.export fn main() marks the entry point that will be visible to the linker.! after println propagates any I/O error (similar to Rust's ?).; terminates the block with an explicit semicolon—a Hare quirk.# Build a static binary
hare build -o hello hello-world.ha
./hello
Or iterate quickly:
hare run hello-world.ha
#hare on Libera.ChatContent type
Image
Digest
sha256:2e325f59d…
Size
107.9 MB
Last updated
4 months ago
docker pull 100hellos/hare