Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
module Kuulaskuri (Kuulaskuri, luo, monesko, seuraava) where
import Data.IORef
newtype Kuulaskuri = Kuulaskuri (IORef Int)
luo :: IO Kuulaskuri
luo = do
r <- newIORef 1
return (Kuulaskuri r)
monesko :: Kuulaskuri -> IO Int
monesko (Kuulaskuri r) = do
readIORef r
seuraava :: Kuulaskuri -> IO ()
seuraava (Kuulaskuri r) = do
kuu <- readIORef r
writeIORef r ((kuu `mod` 12) + 1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.