Skip to content

Commit baa2cef

Browse files
committed
wip
1 parent e366a0d commit baa2cef

File tree

1 file changed

+5
-4
lines changed
  • plutus-core/untyped-plutus-core/src/UntypedPlutusCore/Evaluation/Machine/Cek

1 file changed

+5
-4
lines changed

plutus-core/untyped-plutus-core/src/UntypedPlutusCore/Evaluation/Machine/Cek/Internal.hs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -714,7 +714,7 @@ data Context uni fun ann
714714
| FrameCases !(CekValEnv uni fun ann) !(V.Vector (NTerm uni fun ann)) !(Context uni fun ann)
715715
-- ^ @(case _ C0 .. Cn)@
716716
| FrameAwaitLetBinds !(CekValEnv uni fun ann) !(NTerm uni fun ann) ![NTerm uni fun ann] ![CekValue uni fun ann] !(Context uni fun ann)
717-
| FrameMine ![CekValue uni fun ann] !(Context uni fun ann)
717+
| FrameAwaitLet ![CekValue uni fun ann] !(Context uni fun ann)
718718
| NoFrame
719719

720720
deriving stock instance (GShow uni, Everywhere uni Show, Show fun, Show ann, Closed uni)
@@ -892,9 +892,10 @@ enterComputeCek = computeCek
892892
SpineLast arg -> applyEvaluate ctx fun (VCon arg)
893893
SpineCons arg rest -> applyEvaluate (FrameAwaitFunConN rest ctx) fun (VCon arg)
894894
-- s , [_ V1 .. Vn] ◅ lam x (M,ρ) ↦ s , [_ V2 .. Vn]; ρ [ x ↦ V1 ] ▻ M
895-
returnCek (FrameMine args ctx) l =
895+
returnCek (FrameAwaitLet args ctx) l =
896896
case l of
897-
VLet _ body env -> computeCek ctx (foldr Env.cons env args) body
897+
VLet names body env
898+
| length names == length args -> computeCek ctx (foldr Env.cons env args) body
898899
_ -> error "no"
899900

900901
returnCek (FrameAwaitFunValueN args ctx) fun =
@@ -938,7 +939,7 @@ enterComputeCek = computeCek
938939
returnCek (FrameAwaitLetBinds env l todo done ctx) e =
939940
case todo of
940941
(next : todo') -> computeCek (FrameAwaitLetBinds env l todo' (e : done) ctx) env next
941-
[] -> computeCek (FrameMine (e : done) ctx) env l
942+
[] -> computeCek (FrameAwaitLet (e : done) ctx) env l
942943

943944
-- | @force@ a term and proceed.
944945
-- If v is a delay then compute the body of v;

0 commit comments

Comments
 (0)