Install Neper
Neper is MIT open source and self-hosted: you build the compiler once, then that single compiler produces Windows, Linux, macOS and WebAssembly binaries from the same machine. There is no LLVM, no MSVC/MinGW, no Xcode SDK, no system linker, no Docker and no sysroot to install per target.
1. Clone the repository
$ git clone https://github.com/nebosa-company/neper
$ cd neper
2. Build the compiler
Build the current self-hosted compiler with the repository script for your host:
$ scripts/build-selfhost.ps1 # Windows
$ scripts/build-selfhost.sh # Linux and macOS
This is the one place a third-party tool appears: the first compiler is produced by a small C99 bootstrap, so that initial step needs a C compiler on the host. After it, the toolchain rebuilds itself and every later build is Neper-only.
3. Compile and run a program
use e.io
fn main(args: []str) -> err {
try io.print("Hello, Neper")
ret ok
}
$ neper emit-executable hello.e . x64 windows hello.exe
$ neper emit-executable hello.e . x64 linux hello
$ neper emit-executable hello.e . aarch64 macos hello-mac
$ neper emit-executable hello.e . wasm32 wasi hello.wasm
Add --release for an optimized build. The full walkthrough, including handing the repository to a coding agent, is on the get-started page; build-from-source notes and the language overview are in the README.
A macOS binary is ad-hoc signed and not notarized, and you still need a Mac (or a runner) to run it.
Next
Read the Neper language in brief for the syntax, or the machine-readable summary for agents.