A systems programming language with no hidden behavior.
Statically typed. Explicitly designed. No magic.
Installs the latest
release
to ~/.local/bin.
On Linux:
curl -fsSL https://machlang.org/install.sh | sh
On Windows, run it in PowerShell:
irm https://machlang.org/install.ps1 | iex
Run it in PowerShell.
On macOS (Apple Silicon):
curl -fsSL https://machlang.org/install.sh | sh
Small and explicit: what you read is what executes, and every cost is visible. One binary builds, links, tests, and cross-compiles; nothing hidden, nothing to wire up.
One toolchain targets them all. The same single binary
cross-compiles to every platform you declare. No
cross-toolchains to install, no external linker; you just
add another [target] to your manifest.
$ mach build . --target linux
# linked -> out/linux/bin/app
[target.linux]
isa = "x86_64"
os = "linux"
abi = "sysv64"
From nothing to a running binary: one toolchain, no external linker, no build system to configure.
$ curl -fsSL https://machlang.org/install.sh | sh
# verifies the download, installs to ~/.local/bin
$ mach init my-app
$ cd my-app
$ mach dep pull
# vendors dependencies into dep/, pinned in mach.lock
$ mach build .
# one binary builds and links, with no external linker
$ mach run .
Hello, World!
Next: read the documentation (a pamphlet, not a bible), or start from mach-sieve (a standalone starting point).
Join the Discord