Loops/While: Difference between revisions

(HolyC)
Line 841:
print n
modifyIORef r (`div` 2))</lang>
 
With MonadComprehensions extension you can write it a little bit more readable:
<lang haskell>{-# LANGUAGE MonadComprehensions #-}
import Data.IORef
 
main :: IO ()
main = do
r <- newIORef 1024
whileM [n > 0 | n <- readIORef r] $ do
n <- readIORef r
print n
modifyIORef r (`div` 2)</lang>
 
=={{header|HolyC}}==