Installation
Prerequisites
Section titled “Prerequisites”Nautilus requires:
- a Chelis toolchain from the Chelis-Lang releases page
- GCC (for compiling generated C code)
- Python 3.10+ with numpy and scipy (for the scipy-parity oracle in
parity/)
Download the Chelis toolchain
Section titled “Download the Chelis toolchain”Download the prebuilt binary tarball for your platform from the
Chelis-Lang releases page.
The release workflow attaches chelis-<version>-linux-x86_64.tar.gz and
chelis-<version>-darwin-arm64.tar.gz artifacts. Unpack the tarball and add its
bin/ directory to your PATH:
tar xzf chelis-<version>-linux-x86_64.tar.gzexport PATH="$PWD/chelis-<version>-linux-x86_64/bin:$PATH"The tarball contains bin/chelis, lib/libchelis_runtime.a, and
include/chelis_runtime.h.
Clone and build Nautilus
Section titled “Clone and build Nautilus”git clone https://github.com/Chelis-Lang/nautilus.gitcd nautiluschelis reef buildThis produces a dist/nautilus-<version>.chb reef package that other
Chelis projects can depend on.
Verify the installation
Section titled “Verify the installation”# Type-check all modulesfor f in src/*.ch; do chelis check "$f"; done
# Run the native identity / structural test gate (438 tests)chelis test tests/ --jobs auto
# Serial fallback for debuggingchelis test tests/ --jobs 1
# Run the scipy-parity oracle (requires numpy + scipy)pip install numpy scipypython parity/run_parity.py --strictYou should see 438 passed, 0 failed from chelis test, and
parity totals: 216 passed, 0 failed from the parity oracle.
If your chelis binary is not on PATH, set CHELIS_BIN=/abs/path/to/chelis
when running the Python validation scripts.
Using Nautilus in your project
Section titled “Using Nautilus in your project”Add Nautilus as a reef dependency in your project's reef.toml:
[dependencies]nautilus = { path = "../nautilus" }Then import the modules you need:
import Nautilus.Special (erf, erfinv)import Nautilus.Distributions (normal_cdf, normal_inv_cdf)