From 1948b515a18089bd51a41ee33089c031a2734780 Mon Sep 17 00:00:00 2001 From: AKP Date: Wed, 25 Oct 2023 17:13:08 +0100 Subject: [PATCH] Add `exercises.hs` --- week4/exercises.hs | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 week4/exercises.hs diff --git a/week4/exercises.hs b/week4/exercises.hs new file mode 100644 index 0000000..263b833 --- /dev/null +++ b/week4/exercises.hs @@ -0,0 +1,13 @@ +fun :: Num a => (a -> a) -> (a -> Bool) -> [a] -> [a] +fun f p xs = map f (filter p xs) + +map' :: (a -> b) -> [a] -> [b] +map' f xs = foldr ((:).f) [] xs + +filter' :: (a -> Bool) -> [a] -> [a] +filter' p xs = foldr (\x xs -> if (p x) then x:xs else xs) [] xs + +altMap :: (a -> b) -> (a -> b) -> [a] -> [b] +altMap fa fb xs = map + (\(x, val) -> if x then fa val else fb val) + (zip [x `mod` 2 == 1 | x <- [0..((length xs) - 1)]] xs) \ No newline at end of file