[Haskell-beginners] How to display a time difference?
Colin Paul Adams
colin at colina.demon.co.uk
Wed Mar 18 06:06:30 EDT 2009
The code of the following routine is intended to indicate how long it
takes for the computer to make a move. However the time is printed (as
very close to zero) long before the move is made.
I must be missing something about sequencing actions in the IO monad.
play_move :: IORef Game_state -> IO ()
play_move game_state_ior = do
(_, state, _) <- readIORef game_state_ior
putStr "Playing AI: "
start_time <- getCurrentTime
let move = recommended_move state
modifyIORef game_state_ior (update_interactive_from_move move)
end_time <- getCurrentTime
putStrLn $ show $ (diffUTCTime end_time start_time)
More information about the Beginners