This repository has been archived on 2025-07-20. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
fp/week4/exercises.hs
2023-10-25 17:13:08 +01:00

13 lines
No EOL
429 B
Haskell

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)