LINUX.ORG.RU

История изменений

Исправление qnikst, (текущая версия) :

вот конкретно твой код это всего лишь.

mkSeq :: (a -> Bool) -> (a -> a) -> [a] -> [a]
mkSeq _ _ [] = []
mkSeq pred next initial = initial ++ mkSeq pred next [next x | x <- initial, pred x]

на выходе выдаст «модифицированную» коллекцию.

что практически совпадает с вариантом с iterate, разве, что остановится в конце коллекции.

Исправление qnikst, :

вот конкретно твой код это всего лишь.

mkSeq :: (a -> Bool) -> (a -> a) -> [a] -> [a]
mkSeq _ _ [] = []
mkSeq pred next initial = initial ++ mkSeq pred next [next x | x <- initial, pred x]

на выходе выдаст «модифицированную» коллекцию.

Исходная версия qnikst, :

вот конкретно твой код это всего лишь.

mkSeq :: (a -> Bool) -> (a -> a) -> [a] -> [a] mkSeq _ _ [] = [] mkSeq pred next initial = initial ++ mkSeq pred next [next x | x <- initial, pred x]

на выходе выдаст «модифицированную» коллекцию.