From 2818b21129c9db9c853b1c4d972c0359c0ff8769 Mon Sep 17 00:00:00 2001 From: Yuri Tatishchev Date: Sun, 8 Feb 2026 16:34:21 -0800 Subject: [PATCH] lab03: impl evalueate if --- lab03/interp.lhs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lab03/interp.lhs b/lab03/interp.lhs index 2704bd3..6b0d2d1 100644 --- a/lab03/interp.lhs +++ b/lab03/interp.lhs @@ -85,7 +85,10 @@ You must complete the other cases. > evaluate :: Exp -> Val > evaluate ETrue = VTrue > evaluate EFalse = VFalse -> evaluate (Eif e1 e2 e3) = error "TBD" +> evaluate (Eif e1 e2 e3) = +> case evaluate e1 of +> VTrue -> evaluate e2 +> VFalse -> evaluate e3 And here we have a couple of programs to test.