June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -1,4 +1,5 @@
|
|||
import Control.Monad (when)
|
||||
|
||||
main = loop 1024
|
||||
where loop n = when (n > 0)
|
||||
(do print n
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
import Control.Monad (when)
|
||||
import Data.IORef
|
||||
import Control.Monad.Loops
|
||||
|
||||
whileM :: (Monad m) => m Bool -> m a -> m ()
|
||||
whileM cond body = do c <- cond
|
||||
when c (body >> whileM cond body)
|
||||
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))
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
{-# LANGUAGE MonadComprehensions #-}
|
||||
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))
|
||||
main = do
|
||||
r <- newIORef 1024
|
||||
whileM_ [n > 0 | n <- readIORef r] $ do
|
||||
n <- readIORef r
|
||||
print n
|
||||
modifyIORef r (`div` 2)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue