mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 19:42:50 -06:00
Update LambdaCalculus.md
This commit is contained in:
@@ -27,14 +27,14 @@ data Value
|
|||||||
```
|
```
|
||||||
|
|
||||||
```Haskell
|
```Haskell
|
||||||
eval env (Vr x) vs = apply (lookup x env) vs
|
eval env (Vr x) vs = apply (lookup x env) vs
|
||||||
eval env (Cn c) vs = VApp c vs
|
eval env (Cn c) vs = VApp c vs
|
||||||
eval env (App t1 t2) vs = eval env t1 (eval env t2 : vs)
|
eval env (App t1 t2) vs = eval env t1 (eval env t2 : vs)
|
||||||
eval env (Abs b x t) [] = return (VClosure env (Abs b x t))
|
eval env (Abs x t) [] = return (VClosure env (Abs b x t))
|
||||||
eval env (Abs b x t) (v:vs) = eval ((x,v):env) t vs
|
eval env (Abs x t) (v:vs) = eval ((x,v):env) t vs
|
||||||
|
|
||||||
apply (VApp c vs0) vs = VApp c (vs0++vs)
|
apply (VApp c vs0) vs = VApp c (vs0++vs)
|
||||||
apply (VClosure env (Abs b x t)) (v:vs) = eval ((x,v):env) t vs
|
apply (VClosure env (Abs x t)) (v:vs) = eval ((x,v):env) t vs
|
||||||
```
|
```
|
||||||
|
|
||||||
# Variants
|
# Variants
|
||||||
|
|||||||
Reference in New Issue
Block a user