Skip to content

polarity-lang/polarity

The polarity logo

Polarity

A programming language with dependent data and codata types.

Website Rust CI Codecov Coverage


Community

Feel welcome to join our Discord server.

Quickstart

Before installing anything on your machine you can try out polarity in the browser on polarity-lang.github.io. The website also contains complete installation instructions, language documentation and a guide on how to configure editor support using our language server. If you want to install polarity locally on your system then you can use the nix setup documented here, or follow these steps:

  • Install a Rust toolchain using rustup.rs.
  • Clone the repository on your machine:
    git clone https://github.com/polarity-lang/polarity.git
  • To locally install the executable, run:
    make install
    The binary pol gets installed to ~/.cargo/bin/pol; make sure that this directory is in your $PATH.
  • From the root of this repository, run:
    $ pol run examples/example.pol
    S(S(S(S(S(Z)))))
  • For more information about available subcommands, run:
    pol --help

Contributing

Pull requests, bug reports and feature requests are highly welcomed and encouraged! If you want to contribute yourself, understand the code, or run the testsuite, then you can find more developer-focused documentation in the CONTRIBUTING.md.

Licenses

This project is distributed under the terms of both the MIT license and the Apache License 2.0. See LICENSE-APACHE and LICENSE-MIT for details.