An open API service indexing awesome lists of open source software.

https://github.com/williamragstad/tlc_bidir

Lambda calculus with bidirectional type inference
https://github.com/williamragstad/tlc_bidir

bidirectional bidirectional-typechecking inference types

Last synced: 6 months ago
JSON representation

Lambda calculus with bidirectional type inference

Awesome Lists containing this project

README

          

# Typed Lambda Calculus with Bidirectional Checking

This is a fork of the [lambda_calc](https://github.com/WilliamRagstad/lambda_calc) repository, extending with **bidirectional type checking**, type annotations, natural numbers and booleans!

The extended grammar:

```go
e ::= X // variable
| λX. e // abstraction
| e e // application
| X = e // binding
| type A = B // type definition

X ::= v // variable
| v : T // variable with type annotation

T ::= t // named type
| * // any type (hole)
| T -> T // application type
```

## See [lambda_calc](https://github.com/WilliamRagstad/lambda_calc) for usage reference