RosettaCodeData/Task/Loops-While/Haskell/loops-while-2.hs

11 lines
279 B
Haskell

import Data.IORef
import Control.Monad.Loops
main :: IO ()
main = do r <- newIORef 1024
whileM_ (do n <- readIORef r
return (n > 0))
(do n <- readIORef r
print n
modifyIORef r (`div` 2))