https://github.com/robrix/path
A lambda calculus to explore type-directed program synthesis.
https://github.com/robrix/path
Last synced: about 1 year ago
JSON representation
A lambda calculus to explore type-directed program synthesis.
- Host: GitHub
- URL: https://github.com/robrix/path
- Owner: robrix
- License: bsd-3-clause
- Created: 2018-12-01T18:06:48.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-01-20T14:58:16.000Z (over 6 years ago)
- Last Synced: 2025-03-28T02:21:29.678Z (about 1 year ago)
- Language: Haskell
- Size: 3.08 MB
- Stars: 84
- Watchers: 7
- Forks: 2
- Open Issues: 74
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# `path`: a lambda calculus to explore type-directed program synthesis
## Overview
`path` was initially based on the calculus described in _[A tutorial implementation of a dependently typed lambda calculus][]_. It has been extended with the quantitative type theory described in _[Syntax and Semantics of Quantitative Type Theory][]_.
[A tutorial implementation of a dependently typed lambda calculus]: https://www.andres-loeh.de/LambdaPi/LambdaPi.pdf
[Syntax and Semantics of Quantitative Type Theory]: https://bentnib.org/quantitative-type-theory.pdf
## Getting started
Development of `path` typically uses `cabal new-build`:
```
cabal new-build # build the library and pathc
cabal new-repl # load the library in GHCI
```
Path’s REPL can be run from GHCI:
```haskell
λ import Path.REPL
λ repl (packageSources basePackage)
λ: …
```
or from the CLI:
```
cabal new-run pathc -- -i src/Base/*.path
```