#pattern #language #matching #name #page #programming #wip #narc #head

bin+lib nar

Narc, a dependently-typed programming language with dependent pattern matching

8 releases

✓ Uses Rust 2018 edition

0.0.8 Jan 18, 2020
0.0.7 Dec 16, 2019
0.0.4 Oct 13, 2019
0.0.3 Sep 27, 2019

#210 in Development tools

Download history 55/week @ 2019-12-08 17/week @ 2019-12-15 8/week @ 2019-12-22 8/week @ 2020-01-05 18/week @ 2020-01-12 25/week @ 2020-01-19 4/week @ 2020-02-02 9/week @ 2020-02-09 12/week @ 2020-02-16 29/week @ 2020-02-23 16/week @ 2020-03-08 8/week @ 2020-03-15 42/week @ 2020-03-22

63 downloads per month




Crates.io Crates.io Crates.io docs.rs Actions Status dep-svg

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.



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


~54K SLoC