13 lines
No EOL
429 B
Haskell
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) |