You can find how the language looks like from source codes in the
Note that its design is highly unstable and could be changed. Also the feature set is incomplete yet.
The Nirum compiler works on the most major platforms like Linux, macOS, and Windows. We provide the prebuilt executable binaries for these three platforms.
You can download a executable binary for Linux (x86_64), macOS (x86_64), or
Windows (x64 or x86) from the latest release note.
You should give it appropriate permissions (e.g.,
+x) depending on your
If you look for a previous release, see the list of all releases.
We provide official Docker images as well. You can check the list of
released tags. Note that
latest is for a nightly build which
is unstable (see below).
Since Nirum is still changing by leaps and bounds, you could want to try its bleeding edge. We provide nightly builds for this purpose.
Although we call it "nightly build," technically it is not built every night, but done every merge commit.
In order to compile a Nirum package (
examples/) to a Python package:
$ mkdir out/ # directory to place generated Python files $ nirum -t python -o out/ examples/
For more infomration, use
$ nirum --help Nirum: The IDL compiler and RPC/distributed object framework Usage: nirum [-v|--version] (-o|--output-dir DIR) (-t|--target TARGET) DIR Nirum compiler 0.3.4 Available options: -h,--help Show this help text -v,--version Show version -o,--output-dir DIR Output directory -t,--target TARGET Target language name. Available: docs, python DIR Package directory
There is a step-by-step tutorial as well.
If you already installed Haskell Stack, you can build the project in the same way to build other Haskell softwares:
$ stack build
You can run the test suite of Nirum:
$ stack test # unit test for compiler $ ./lint.sh # style lint
For details, please read the contribution guide.
Related projects & tools
- nirum-python: The official Python runtime library for Nirum.
- nirum.tmbundle: TextMate bundle for Nirum. Also can be used by IntelliJ IDEA (or any other JetBrain's IDEs, e.g., PyCharm, WebStorm) through TextMate bundles support.
- nirum.vim: Nirum syntax highlighter for Vim/Neovim.
- sublime-nirum: Nirum package for Sublime Text 3.