robrix/path
A lambda calculus to explore type-directed program synthesis.
{ "createdAt": "2018-12-01T18:06:48Z", "defaultBranch": "master", "description": "A lambda calculus to explore type-directed program synthesis.", "fullName": "robrix/path", "homepage": null, "language": "Haskell", "name": "path", "pushedAt": "2020-01-20T14:58:16Z", "stargazersCount": 85, "topics": [], "updatedAt": "2025-05-01T03:56:43Z", "url": "https://github.com/robrix/path"}path: a lambda calculus to explore type-directed program synthesis
Section titled “path: a lambda calculus to explore type-directed program synthesis”Overview
Section titled “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
Section titled “Getting started”Development of path typically uses cabal new-build:
cabal new-build # build the library and pathccabal new-repl # load the library in GHCIPath’s REPL can be run from GHCI:
λ import Path.REPLλ repl (packageSources basePackage)λ: …or from the CLI:
cabal new-run pathc -- -i src/Base/*.path