A Language with Dependent Data and Codata Types
Find a file
Tim Süberkrüb b8d17e4bd6
Fix nix build and evaluate nix on all branches (#463)
* Evaluate nix on all branches

* Fix nix build
2025-01-23 12:55:27 +01: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 Add pol compile and ir phase to test runner (#433) 2025-01-05 00:58:30 +01:00
contrib Fix nix build and evaluate nix on all branches (#463) 2025-01-23 12:55:27 +01:00
examples Factor out stuff from stlc case study into standard library (#422) 2024-12-30 19:12:40 +01:00
lang Refactor env (#461) 2025-01-22 18:38:43 +01:00
scripts Add examples/index.json (#397) 2024-11-29 23:21:03 +01:00
std Factor out stuff from stlc case study into standard library (#422) 2024-12-30 19:12:40 +01:00
test Improve error messages from conversion checking (#457) 2025-01-22 15:57:08 +01:00
web Compute cross module diagnostics (#437) 2025-01-15 12:52:50 +01:00
.gitignore create docs (#385) 2024-11-22 22:45:48 +01:00
ARCHITECTURE.md Add ARCHITECTURE.md (#340) 2024-10-28 07:37:47 -04:00
Cargo.lock Eliminate codespan dependency (#425) 2025-01-20 12:58:30 +01:00
Cargo.toml Eliminate codespan dependency (#425) 2025-01-20 12:58:30 +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 import order convention (#388) 2024-11-25 21:30:29 +01:00
flake.lock Trace back unification error (#339) 2024-11-18 14:37:46 +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 Start working on a better CONTRIBUTING.md (#383) 2024-11-20 19:45:53 +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.