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
- Host: GitHub
- URL: https://github.com/williamragstad/tlc_bidir
- Owner: WilliamRagstad
- Created: 2025-07-02T20:24:21.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-07-22T21:06:38.000Z (7 months ago)
- Last Synced: 2025-08-18T15:50:25.510Z (6 months ago)
- Topics: bidirectional, bidirectional-typechecking, inference, types
- Language: Rust
- Homepage:
- Size: 77.1 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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