A-M baby
This commit is contained in:
parent
764da6cbbb
commit
db842d013d
19005 changed files with 197040 additions and 7 deletions
5
Task/Loops-While/Haskell/loops-while-1.hs
Normal file
5
Task/Loops-While/Haskell/loops-while-1.hs
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
import Control.Monad (when)
|
||||
main = loop 1024
|
||||
where loop n = when (n > 0)
|
||||
(do print n
|
||||
loop (n `div` 2))
|
||||
5
Task/Loops-While/Haskell/loops-while-2.hs
Normal file
5
Task/Loops-While/Haskell/loops-while-2.hs
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
import Control.Monad (when)
|
||||
|
||||
whileM :: (Monad m) => m Bool -> m a -> m ()
|
||||
whileM cond body = do c <- cond
|
||||
when c (body >> whileM cond body)
|
||||
9
Task/Loops-While/Haskell/loops-while-3.hs
Normal file
9
Task/Loops-While/Haskell/loops-while-3.hs
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
import Data.IORef
|
||||
|
||||
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))
|
||||
Loading…
Add table
Add a link
Reference in a new issue