Loops/While: Difference between revisions

Content added Content deleted
(HolyC)
Line 841: Line 841:
print n
print n
modifyIORef r (`div` 2))</lang>
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}}==
=={{header|HolyC}}==