path

A lambda calculus to explore type-directed program synthesis.

BSD-3-CLAUSE License

Stars
83

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.

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

Paths REPL can be run from GHCI:

 import Path.REPL
 repl (packageSources basePackage)
: 

or from the CLI:

cabal new-run pathc -- -i src/Base/*.path