RWH 4.6 練習問題
-- 4 concat_foldr :: [[a]] -> [a] concat_foldr xs = foldr (++) [] xs -- 5 takeWhile_foldr :: (a -> Bool) -> [a] -> [a] takeWhile_foldr f xs = foldr step [] xs where step x ys | f x = x: ys | otherwise = []
明示的な再帰を使ったtakeWhile
は省略。
-- 4 concat_foldr :: [[a]] -> [a] concat_foldr xs = foldr (++) [] xs -- 5 takeWhile_foldr :: (a -> Bool) -> [a] -> [a] takeWhile_foldr f xs = foldr step [] xs where step x ys | f x = x: ys | otherwise = []
明示的な再帰を使ったtakeWhile
は省略。