mirror of
https://github.com/anoma/juvix.git
synced 2024-12-15 01:52:11 +03:00
2baad15a41
* Enables new function syntax in local let-declarations * Closes #2251
17 lines
321 B
Plaintext
17 lines
321 B
Plaintext
module LambdaCalculus;
|
|
|
|
LambdaTy : Type -> Type := Lambda;
|
|
|
|
AppTy : Type -> Type := App;
|
|
|
|
type Expr (V : Type) :=
|
|
| var : V -> Expr V
|
|
| lam : LambdaTy V -> Expr V
|
|
| app : AppTy V -> Expr V;
|
|
|
|
type Lambda (V : Type) :=
|
|
| mkLambda : Expr V -> Lambda V;
|
|
|
|
type App (V : Type) :=
|
|
| mkApp : Expr V -> Expr V -> App V;
|