Narc is a dependently-typed programming language with Agda style dependent pattern matching.
It's called "Narc", but a rust crate narc
has already been registered,
thus the crate name is changed to nar
and the compiler binary is therefore narc
.
For language description, please head to the docs.rs page.
- Original Paper that Narc is based on
- Docs.rs documentation
- IntelliJ Plugin, which can export your code as clickable HTML
- Change Log, useful resource for tracking language evolution
- Binary Download on GitHub Actions page for Windows, Ubuntu and macOS
The most recommended way of installation is to download the prebuilt binaries from GitHub Actions page. Here's how to find them.
You can install the narc type-checker by this command (cargo installation and rust stable toolchain are assumed):
cargo install nar --bin narc
After installation, you can type-check a narc file by:
narc [filename]
You can also start a REPL:
narc -i