下記length'
, all'
をfoldl
, foldr
, foldl1
, foldr1
のいずれかを用いて実装せよ。
length'
, all'
の挙動はlength
, all
を参照すること。
length' :: [a] -> Int
all' :: (a -> Bool) -> [a] -> Bool
main = do
print $ length' [1,2,3,4]
print $ length' $ replicate 100 1
print $ all' even [2,4,6]
print $ all' even [2,4,7]
print $ all' even [1,3..]
Output:
4
100
True
False
False