RosettaCodeData/Task/Loops-Do-while/Haskell/loops-do-while-1.hs

6 lines
132 B
Haskell

import Data.List
import Control.Monad
import Control.Arrow
doWhile p f n = (n:) $ takeWhile p $ unfoldr (Just.(id &&& f)) $ succ n