{-# LANGUAGE ScopedTypeVariables #-}

module Data.Time.Extras where

import Control.Concurrent.Thread.Delay
import Data.Fixed
import Data.Fixed.Extras
import Data.Time
import Prelude

delayMicro :: Micro -> IO ()
delayMicro :: Micro -> IO ()
delayMicro (MkFixed Integer
mus) = Integer -> IO ()
delay Integer
mus

delayNominalDiffTime :: NominalDiffTime -> IO ()
delayNominalDiffTime :: NominalDiffTime -> IO ()
delayNominalDiffTime = Micro -> IO ()
delayMicro forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall res a.
(Num a, HasResolution res) =>
(a -> Integer) -> a -> Fixed res
toFixed forall a b. (RealFrac a, Integral b) => a -> b
ceiling