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.