Updata lambda calculus example
This commit is contained in:
parent
a03f139e5c
commit
41934e2011
1 changed files with 2 additions and 3 deletions
|
|
@ -26,10 +26,9 @@ insert x v cxt = case cxt of
|
||||||
|
|
||||||
eval : Cxt -> Exp -> Val
|
eval : Cxt -> Exp -> Val
|
||||||
eval cxt exp = case exp of
|
eval cxt exp = case exp of
|
||||||
EVar x => case lookup x cxt of
|
|
||||||
VInt i => VInt i
|
|
||||||
VClosure delta x e => eval delta e
|
|
||||||
EAbs x e => VClosure cxt x e
|
EAbs x e => VClosure cxt x e
|
||||||
|
EVar x => case lookup x cxt of
|
||||||
|
VClosure delta x e => eval delta e
|
||||||
EApp e1 e2 => case eval cxt e1 of
|
EApp e1 e2 => case eval cxt e1 of
|
||||||
VClosure delta x f =>
|
VClosure delta x f =>
|
||||||
let v = VClosure cxt x e2 in
|
let v = VClosure cxt x e2 in
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue