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

12 lines
245 B
Haskell
Raw Permalink Normal View History

2018-06-22 20:57:24 +00:00
{-# LANGUAGE MonadComprehensions #-}
2013-04-10 21:29:02 -07:00
import Data.IORef
2018-06-22 20:57:24 +00:00
import Control.Monad.Loops
2013-04-10 21:29:02 -07:00
main :: IO ()
2018-06-22 20:57:24 +00:00
main = do
r <- newIORef 1024
whileM_ [n > 0 | n <- readIORef r] $ do
n <- readIORef r
print n
modifyIORef r (`div` 2)