module Main (main) where

import Control.Monad.Reader
import Control.Monad.State
import Data.Time.Clock

import Control.Monad.Time

main :: IO ()
main = do
  currentTime >>= print
  -- Test that generic MonadTrans instance works.
  runReaderT currentTime 'x' >>= print
  evalStateT (runReaderT currentTime 'x') 'y' >>= print

  monotonicTime >>= print
  runReaderT monotonicTime 'x' >>= print
  evalStateT (runReaderT monotonicTime 'x') 'y' >>= print

 Test that generic MonadTrans instance works.
module Main (main) where

import Control.Monad.Reader
import Control.Monad.State
import Data.Time.Clock

import Control.Monad.Time

main :: IO ()
main = do
  currentTime >>= print
  runReaderT currentTime 'x' >>= print
  evalStateT (runReaderT currentTime 'x') 'y' >>= print

  monotonicTime >>= print
  runReaderT monotonicTime 'x' >>= print
  evalStateT (runReaderT monotonicTime 'x') 'y' >>= print
