Nimony is a new Nim implementation that is in heavy development. The goal is a production-ready compiler this year, for projects that can live with the documented feature set -- don't assume Nim 2's feature set! Read what is available first!
- Incremental recompilations.
- Fully parallel builds.
- No forward declarations for procs and types required.
- Type-checked generics.
- Unified concurrency and parallelism model via continuations, so-called passive procs.
- Good editor support.
Read more about the design philosophy.
Clone Nimony and build with hastur:
git clone https://github.com/nim-lang/nimony.git
cd nimony
nim c -r src/hastur build all
This builds the compiler and all supporting tools into bin/. Add bin/ to your PATH to use the compiler and tools.
echo lives in std/syncio, so the hello world program is:
import std/syncio
echo "hello, world"Compile and run:
bin/nimony c -r hello.nim
The stdlib source is in lib/std/ and is designed to be read directly — Nim is readable enough that type signatures often suffice as documentation.
For the parts where signatures aren't enough — behavioral contracts, performance traps, design rationale — there is a curated Standard Library Guide.
The examples/ directory contains runnable Nim files that serve as both usage examples and tests. Run them with hastur examples.
The language manual covers syntax, semantics, and the type system.