A Language with Dependent Data and Codata Types
Find a file
Rasmus Buurman f95159a91c
Some checks failed
Codecov Coverage / coverage (push) Has been cancelled
Lint Code Base / Lint Code Base (push) Has been cancelled
Check nix code / Check nix code (push) Has been cancelled
Rust CI / Build with MSRV (push) Has been cancelled
Rust CI / Check (push) Has been cancelled
Rust CI / Tests (push) Has been cancelled
Rust CI / Rustfmt (push) Has been cancelled
Rust CI / Clippy (push) Has been cancelled
Rust CI / Check line endings (push) Has been cancelled
Deploy Web Demo / deploy (push) Has been cancelled
chore: Update cargo dependencies (#547)
2025-07-06 13:21:35 +02:00
.cargo Rename .cargo/config to .cargo/config.toml (#144) 2024-02-20 23:44:50 +01:00
.github/workflows Fix nix build and evaluate nix on all branches (#463) 2025-01-23 12:55:27 +01:00
app Address new clippy lints (#537) 2025-06-30 11:42:36 +02:00
bench Use Rust2024 Edition (#507) 2025-05-14 15:27:56 +01:00
contrib add an env variable to shell.nix for VS Code and rust-analyzer (#545) 2025-07-02 11:44:06 +02:00
examples Add Infix declarations for custom operators (#509) 2025-04-14 20:22:12 +01:00
lang Fix missing clippy linting errors (#548) 2025-07-06 12:50:48 +02:00
scripts Add examples/index.json (#397) 2024-11-29 23:21:03 +01:00
std Add Infix declarations for custom operators (#509) 2025-04-14 20:22:12 +01:00
test Fix missing clippy linting errors (#548) 2025-07-06 12:50:48 +02:00
web Address new clippy lints (#537) 2025-06-30 11:42:36 +02: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 chore: Update cargo dependencies (#547) 2025-07-06 13:21:35 +02:00
Cargo.toml Use Rust2024 Edition (#507) 2025-05-14 15:27:56 +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 Document how to filter tests (#528) 2025-06-03 10:48:56 +01:00
flake.lock [chore] bump flake lock to get new cargo version (#525) 2025-05-14 22:46:21 +02: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 Respect lockfile in install target (#510) 2025-03-30 10:39:05 +01: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.