A Language with Dependent Data and Codata Types
Find a file
Tim Süberkrüb 8b115a20ce
Some checks failed
Check nix code / Check nix code (push) Has been cancelled
append is more useful than prepend
2025-11-20 15:09:33 +01:00
.cargo Rename .cargo/config to .cargo/config.toml (#144) 2024-02-20 23:44:50 +01:00
.github/workflows Fix web demo deployment (#592) 2025-11-06 12:04:55 +00:00
app Support multiple errors from any stage in driver (#586) 2025-11-03 20:12:01 +01:00
bench Support multiple errors from any stage in driver (#586) 2025-11-03 20:12:01 +01:00
contrib Update nix flake environment (#590) 2025-11-04 18:17:39 +01:00
examples Use notes in examples (#589) 2025-11-03 16:09:40 +00:00
lang Translate extern calls to IR (#601) 2025-11-18 10:54:56 +00:00
scripts Add examples/index.json (#397) 2024-11-29 23:21:03 +01:00
std append is more useful than prepend 2025-11-20 15:09:33 +01:00
test Translate extern calls to IR (#601) 2025-11-18 10:54:56 +00:00
web Add extern declarations in parser (#594) 2025-11-11 14:47:57 +01:00
.gitignore Add local let (#523) 2025-06-02 18:19:22 +01:00
ARCHITECTURE.md Implement benchmarks (#455) 2025-02-12 11:27:24 +01:00
Cargo.lock Refactor web editor (#588) 2025-11-03 11:44:41 +00:00
Cargo.toml Update nix flake environment (#590) 2025-11-04 18:17:39 +01:00
CHANGELOG.md Add information about contributing and releases (#151) 2024-03-20 22:26:20 +01:00
CODE_OF_CONDUCT.md Add coc (#335) 2024-10-18 12:52:39 +02:00
codecov.yml Preserve type annotations during normalization (#382) 2024-11-20 22:59:42 +01:00
CONTRIBUTING.md Fix typo in README.md (#566) 2025-08-05 12:12:19 +01:00
flake.lock Update nix flake environment (#590) 2025-11-04 18:17:39 +01:00
flake.nix Trace back unification error (#339) 2024-11-18 14:37:46 +01:00
LICENSE-APACHE Add licenses 2024-03-04 20:37:23 +01:00
LICENSE-MIT Add licenses 2024-03-04 20:37:23 +01:00
Makefile Refactor web editor (#588) 2025-11-03 11:44:41 +00:00
README.md Start working on a better CONTRIBUTING.md (#383) 2024-11-20 19:45:53 +01:00
rustfmt.toml Add initial Rust project setup 2022-08-23 20:48:20 +02:00

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.