{"id":13749247,"url":"https://github.com/sourcedennis/rust-pi-forall","last_synced_at":"2025-05-09T12:32:05.958Z","repository":{"id":216842879,"uuid":"539035772","full_name":"sourcedennis/rust-pi-forall","owner":"sourcedennis","description":"A partial re-implementation of pi-forall in Rust","archived":false,"fork":false,"pushed_at":"2022-10-05T14:40:16.000Z","size":79,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-05-22T22:30:42.015Z","etag":null,"topics":["dependent-types"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sourcedennis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-20T14:35:53.000Z","updated_at":"2024-08-03T07:03:10.068Z","dependencies_parsed_at":null,"dependency_job_id":"b0808cfb-6c27-417f-8a92-7cf959b4d066","html_url":"https://github.com/sourcedennis/rust-pi-forall","commit_stats":null,"previous_names":["sourcedennis/rust-pi-forall"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcedennis%2Frust-pi-forall","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcedennis%2Frust-pi-forall/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcedennis%2Frust-pi-forall/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcedennis%2Frust-pi-forall/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sourcedennis","download_url":"https://codeload.github.com/sourcedennis/rust-pi-forall/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224863108,"owners_count":17382279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dependent-types"],"created_at":"2024-08-03T07:00:57.833Z","updated_at":"2024-11-16T00:30:20.012Z","avatar_url":"https://github.com/sourcedennis.png","language":"Rust","funding_links":[],"categories":["Programming Language"],"sub_categories":["Libraries"],"readme":"# Rust pi-forall\n\nAn implementation of [pi-forall](https://github.com/sweirich/pi-forall) in [Rust](https://www.rust-lang.org).\n\n## Motivation\n\npi-forall is a demo dependently-typed programming language. Its reference implementation is written in [Haskell](https://www.haskell.org), which is accompanied by lecture notes. In this repository, I replicate that work in Rust.\n\nI replicate the `full/` variant of pi-forall presented at OPLSS [2022](https://github.com/sweirich/pi-forall/tree/2022). Though, I only reimplemented *a subset* of features that I consider interesting. Also keep in mind that idiomatic Rust has a vastly different structure from idiomatic Haskell; No monads, nor its transformers.\n\n## Features\n\nCurrently, we support:\n\n* Equality\n* Irrelevance\n\nThat roughly corresponds with `version3/`. Datatypes are still missing. (Though, the parser supports `case` statements)\n\n## Running\n\nFirst, [install Rust](https://www.rust-lang.org/tools/install). Then, run (in this directory):\n\n```sh\ncargo run --release -- pi/Lec1.pi\n```\n\nThat typechecks `pi/Lec1.pi`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsourcedennis%2Frust-pi-forall","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsourcedennis%2Frust-pi-forall","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsourcedennis%2Frust-pi-forall/lists"}