From 319643faf6baea1c44f68800cba1947799935d05 Mon Sep 17 00:00:00 2001 From: Edoardo La Greca Date: Wed, 9 Jul 2025 22:35:50 +0200 Subject: add second exercise of lecture 5 --- lec05/Calc.hs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'lec05/Calc.hs') diff --git a/lec05/Calc.hs b/lec05/Calc.hs index 8051d76..cd6f408 100644 --- a/lec05/Calc.hs +++ b/lec05/Calc.hs @@ -1,6 +1,7 @@ module Calc where import ExprT +import Parser -- Exercise 1 @@ -8,3 +9,10 @@ eval :: ExprT -> Integer eval (Lit n) = n eval (Add l r) = eval l + eval r eval (Mul l r) = eval l * eval r + +-- Exercise 2 + +evalStr :: String -> Maybe Integer +evalStr s = case parseExp Lit Add Mul s of + Nothing -> Nothing + Just t -> Just (eval t) -- cgit v1.2.3