From 871d3761cb1d12c593ad3a4aa059cc23ae35f87a Mon Sep 17 00:00:00 2001 From: Edoardo La Greca Date: Mon, 7 Jul 2025 17:26:34 +0200 Subject: add third exercise of lecture 4 --- lec04/hw.hs | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'lec04/hw.hs') diff --git a/lec04/hw.hs b/lec04/hw.hs index bb5a026..923ec01 100644 --- a/lec04/hw.hs +++ b/lec04/hw.hs @@ -37,3 +37,14 @@ treeInsertBalanced t@(Node h tl@(Node hl _ _ _) e tr@(Node hr _ _ _)) a foldTree :: [a] -> Tree a foldTree = foldr (flip treeInsertBalanced) Leaf + +-- Exercise 3 + +xor :: [Bool] -> Bool +xor = odd . foldl (\s x -> if x then s+1 else s) 0 + +map' :: (a -> b) -> [a] -> [b] +map' f = foldr (\x s -> f x : s) [] + +myFoldl :: (a -> b -> a) -> a -> [b] -> a +myFoldl f base xs = foldr (flip f) base (reverse xs) -- cgit v1.2.3