Как реализовать функцию takeWhile в Haskell с помощью сгиба?Реализовать takeWhile со сгибом
takeWhile :: (a -> Bool) -> [a] -> [a]
Я попробовал стратегию похожий на реализующий фильтр, как этот
filter :: (a -> Bool) -> [a] -> [a]
filter f = foldr (\x acc -> if f x then x : acc else acc) []
Но как я могу остановить, когда е х ложно?