time-units-1.0.0: A basic library for defining units of time as types.

Safe HaskellNone
LanguageHaskell98

Data.Time.Units

Description

This module defines types for many useful time periods, as well as mechanisms for converting between them.

Synopsis

Documentation

class TimeUnit a where Source #

A generic class that describes all the units of time. We use microseconds here because that tends to be what GHC (at least) tends to use as its system-level minimum tick size.

Minimal complete definition

toMicroseconds, fromMicroseconds

Methods

toMicroseconds :: a -> Integer Source #

Converts the given unit of time into microseconds, flooring the value if it comes to a fractional number of microseconds. (In other words: be careful, you may lose precision!)

fromMicroseconds :: Integer -> a Source #

Converts the given number of microseconds into the unit of time, flooring the value if it comes to a fraction number of the given unit. (In other words: be careful, you may lose precision!)

Instances

TimeUnit Fortnight Source # 
TimeUnit Week Source # 
TimeUnit Day Source # 
TimeUnit Hour Source # 
TimeUnit Minute Source # 
TimeUnit Second Source # 
TimeUnit Millisecond Source # 
TimeUnit Microsecond Source # 
TimeUnit Nanosecond Source # 
TimeUnit Picosecond Source # 
TimeUnit Femtosecond Source # 
TimeUnit Attosecond Source # 

data Attosecond Source #

Instances

Enum Attosecond Source # 
Eq Attosecond Source # 
Integral Attosecond Source # 
Data Attosecond Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Attosecond -> c Attosecond #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Attosecond #

toConstr :: Attosecond -> Constr #

dataTypeOf :: Attosecond -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Attosecond) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Attosecond) #

gmapT :: (forall b. Data b => b -> b) -> Attosecond -> Attosecond #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Attosecond -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Attosecond -> r #

gmapQ :: (forall d. Data d => d -> u) -> Attosecond -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Attosecond -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Attosecond -> m Attosecond #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Attosecond -> m Attosecond #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Attosecond -> m Attosecond #

Num Attosecond Source # 
Ord Attosecond Source # 
Read Attosecond Source # 
Real Attosecond Source # 
Show Attosecond Source # 
Ix Attosecond Source # 
TimeUnit Attosecond Source # 

data Femtosecond Source #

Instances

Enum Femtosecond Source # 
Eq Femtosecond Source # 
Integral Femtosecond Source # 
Data Femtosecond Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Femtosecond -> c Femtosecond #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Femtosecond #

toConstr :: Femtosecond -> Constr #

dataTypeOf :: Femtosecond -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Femtosecond) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Femtosecond) #

gmapT :: (forall b. Data b => b -> b) -> Femtosecond -> Femtosecond #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Femtosecond -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Femtosecond -> r #

gmapQ :: (forall d. Data d => d -> u) -> Femtosecond -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Femtosecond -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Femtosecond -> m Femtosecond #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Femtosecond -> m Femtosecond #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Femtosecond -> m Femtosecond #

Num Femtosecond Source # 
Ord Femtosecond Source # 
Read Femtosecond Source # 
Real Femtosecond Source # 
Show Femtosecond Source # 
Ix Femtosecond Source # 
TimeUnit Femtosecond Source # 

data Picosecond Source #

Instances

Enum Picosecond Source # 
Eq Picosecond Source # 
Integral Picosecond Source # 
Data Picosecond Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Picosecond -> c Picosecond #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Picosecond #

toConstr :: Picosecond -> Constr #

dataTypeOf :: Picosecond -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Picosecond) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Picosecond) #

gmapT :: (forall b. Data b => b -> b) -> Picosecond -> Picosecond #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Picosecond -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Picosecond -> r #

gmapQ :: (forall d. Data d => d -> u) -> Picosecond -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Picosecond -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Picosecond -> m Picosecond #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Picosecond -> m Picosecond #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Picosecond -> m Picosecond #

Num Picosecond Source # 
Ord Picosecond Source # 
Read Picosecond Source # 
Real Picosecond Source # 
Show Picosecond Source # 
Ix Picosecond Source # 
TimeUnit Picosecond Source # 

data Nanosecond Source #

Instances

Enum Nanosecond Source # 
Eq Nanosecond Source # 
Integral Nanosecond Source # 
Data Nanosecond Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Nanosecond -> c Nanosecond #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Nanosecond #

toConstr :: Nanosecond -> Constr #

dataTypeOf :: Nanosecond -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Nanosecond) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Nanosecond) #

gmapT :: (forall b. Data b => b -> b) -> Nanosecond -> Nanosecond #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Nanosecond -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Nanosecond -> r #

gmapQ :: (forall d. Data d => d -> u) -> Nanosecond -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Nanosecond -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Nanosecond -> m Nanosecond #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Nanosecond -> m Nanosecond #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Nanosecond -> m Nanosecond #

Num Nanosecond Source # 
Ord Nanosecond Source # 
Read Nanosecond Source # 
Real Nanosecond Source # 
Show Nanosecond Source # 
Ix Nanosecond Source # 
TimeUnit Nanosecond Source # 

data Microsecond Source #

Instances

Enum Microsecond Source # 
Eq Microsecond Source # 
Integral Microsecond Source # 
Data Microsecond Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Microsecond -> c Microsecond #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Microsecond #

toConstr :: Microsecond -> Constr #

dataTypeOf :: Microsecond -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Microsecond) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Microsecond) #

gmapT :: (forall b. Data b => b -> b) -> Microsecond -> Microsecond #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Microsecond -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Microsecond -> r #

gmapQ :: (forall d. Data d => d -> u) -> Microsecond -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Microsecond -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Microsecond -> m Microsecond #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Microsecond -> m Microsecond #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Microsecond -> m Microsecond #

Num Microsecond Source # 
Ord Microsecond Source # 
Read Microsecond Source # 
Real Microsecond Source # 
Show Microsecond Source # 
Ix Microsecond Source # 
TimeUnit Microsecond Source # 

data Millisecond Source #

Instances

Enum Millisecond Source # 
Eq Millisecond Source # 
Integral Millisecond Source # 
Data Millisecond Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Millisecond -> c Millisecond #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Millisecond #

toConstr :: Millisecond -> Constr #

dataTypeOf :: Millisecond -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Millisecond) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Millisecond) #

gmapT :: (forall b. Data b => b -> b) -> Millisecond -> Millisecond #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Millisecond -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Millisecond -> r #

gmapQ :: (forall d. Data d => d -> u) -> Millisecond -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Millisecond -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Millisecond -> m Millisecond #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Millisecond -> m Millisecond #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Millisecond -> m Millisecond #

Num Millisecond Source # 
Ord Millisecond Source # 
Read Millisecond Source # 
Real Millisecond Source # 
Show Millisecond Source # 
Ix Millisecond Source # 
TimeUnit Millisecond Source # 

data Second Source #

Instances

Enum Second Source # 
Eq Second Source # 

Methods

(==) :: Second -> Second -> Bool #

(/=) :: Second -> Second -> Bool #

Integral Second Source # 
Data Second Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Second -> c Second #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Second #

toConstr :: Second -> Constr #

dataTypeOf :: Second -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Second) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Second) #

gmapT :: (forall b. Data b => b -> b) -> Second -> Second #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Second -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Second -> r #

gmapQ :: (forall d. Data d => d -> u) -> Second -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Second -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Second -> m Second #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Second -> m Second #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Second -> m Second #

Num Second Source # 
Ord Second Source # 
Read Second Source # 
Real Second Source # 
Show Second Source # 
Ix Second Source # 
TimeUnit Second Source # 

data Minute Source #

Instances

Enum Minute Source # 
Eq Minute Source # 

Methods

(==) :: Minute -> Minute -> Bool #

(/=) :: Minute -> Minute -> Bool #

Integral Minute Source # 
Data Minute Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Minute -> c Minute #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Minute #

toConstr :: Minute -> Constr #

dataTypeOf :: Minute -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Minute) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Minute) #

gmapT :: (forall b. Data b => b -> b) -> Minute -> Minute #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Minute -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Minute -> r #

gmapQ :: (forall d. Data d => d -> u) -> Minute -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Minute -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Minute -> m Minute #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Minute -> m Minute #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Minute -> m Minute #

Num Minute Source # 
Ord Minute Source # 
Read Minute Source # 
Real Minute Source # 
Show Minute Source # 
Ix Minute Source # 
TimeUnit Minute Source # 

data Hour Source #

Instances

Enum Hour Source # 

Methods

succ :: Hour -> Hour #

pred :: Hour -> Hour #

toEnum :: Int -> Hour #

fromEnum :: Hour -> Int #

enumFrom :: Hour -> [Hour] #

enumFromThen :: Hour -> Hour -> [Hour] #

enumFromTo :: Hour -> Hour -> [Hour] #

enumFromThenTo :: Hour -> Hour -> Hour -> [Hour] #

Eq Hour Source # 

Methods

(==) :: Hour -> Hour -> Bool #

(/=) :: Hour -> Hour -> Bool #

Integral Hour Source # 

Methods

quot :: Hour -> Hour -> Hour #

rem :: Hour -> Hour -> Hour #

div :: Hour -> Hour -> Hour #

mod :: Hour -> Hour -> Hour #

quotRem :: Hour -> Hour -> (Hour, Hour) #

divMod :: Hour -> Hour -> (Hour, Hour) #

toInteger :: Hour -> Integer #

Data Hour Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Hour -> c Hour #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Hour #

toConstr :: Hour -> Constr #

dataTypeOf :: Hour -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Hour) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Hour) #

gmapT :: (forall b. Data b => b -> b) -> Hour -> Hour #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Hour -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Hour -> r #

gmapQ :: (forall d. Data d => d -> u) -> Hour -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Hour -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Hour -> m Hour #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Hour -> m Hour #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Hour -> m Hour #

Num Hour Source # 

Methods

(+) :: Hour -> Hour -> Hour #

(-) :: Hour -> Hour -> Hour #

(*) :: Hour -> Hour -> Hour #

negate :: Hour -> Hour #

abs :: Hour -> Hour #

signum :: Hour -> Hour #

fromInteger :: Integer -> Hour #

Ord Hour Source # 

Methods

compare :: Hour -> Hour -> Ordering #

(<) :: Hour -> Hour -> Bool #

(<=) :: Hour -> Hour -> Bool #

(>) :: Hour -> Hour -> Bool #

(>=) :: Hour -> Hour -> Bool #

max :: Hour -> Hour -> Hour #

min :: Hour -> Hour -> Hour #

Read Hour Source # 
Real Hour Source # 

Methods

toRational :: Hour -> Rational #

Show Hour Source # 

Methods

showsPrec :: Int -> Hour -> ShowS #

show :: Hour -> String #

showList :: [Hour] -> ShowS #

Ix Hour Source # 

Methods

range :: (Hour, Hour) -> [Hour] #

index :: (Hour, Hour) -> Hour -> Int #

unsafeIndex :: (Hour, Hour) -> Hour -> Int

inRange :: (Hour, Hour) -> Hour -> Bool #

rangeSize :: (Hour, Hour) -> Int #

unsafeRangeSize :: (Hour, Hour) -> Int

TimeUnit Hour Source # 

data Day Source #

Instances

Enum Day Source # 

Methods

succ :: Day -> Day #

pred :: Day -> Day #

toEnum :: Int -> Day #

fromEnum :: Day -> Int #

enumFrom :: Day -> [Day] #

enumFromThen :: Day -> Day -> [Day] #

enumFromTo :: Day -> Day -> [Day] #

enumFromThenTo :: Day -> Day -> Day -> [Day] #

Eq Day Source # 

Methods

(==) :: Day -> Day -> Bool #

(/=) :: Day -> Day -> Bool #

Integral Day Source # 

Methods

quot :: Day -> Day -> Day #

rem :: Day -> Day -> Day #

div :: Day -> Day -> Day #

mod :: Day -> Day -> Day #

quotRem :: Day -> Day -> (Day, Day) #

divMod :: Day -> Day -> (Day, Day) #

toInteger :: Day -> Integer #

Data Day Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Day -> c Day #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Day #

toConstr :: Day -> Constr #

dataTypeOf :: Day -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Day) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Day) #

gmapT :: (forall b. Data b => b -> b) -> Day -> Day #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Day -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Day -> r #

gmapQ :: (forall d. Data d => d -> u) -> Day -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Day -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Day -> m Day #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Day -> m Day #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Day -> m Day #

Num Day Source # 

Methods

(+) :: Day -> Day -> Day #

(-) :: Day -> Day -> Day #

(*) :: Day -> Day -> Day #

negate :: Day -> Day #

abs :: Day -> Day #

signum :: Day -> Day #

fromInteger :: Integer -> Day #

Ord Day Source # 

Methods

compare :: Day -> Day -> Ordering #

(<) :: Day -> Day -> Bool #

(<=) :: Day -> Day -> Bool #

(>) :: Day -> Day -> Bool #

(>=) :: Day -> Day -> Bool #

max :: Day -> Day -> Day #

min :: Day -> Day -> Day #

Read Day Source # 
Real Day Source # 

Methods

toRational :: Day -> Rational #

Show Day Source # 

Methods

showsPrec :: Int -> Day -> ShowS #

show :: Day -> String #

showList :: [Day] -> ShowS #

Ix Day Source # 

Methods

range :: (Day, Day) -> [Day] #

index :: (Day, Day) -> Day -> Int #

unsafeIndex :: (Day, Day) -> Day -> Int

inRange :: (Day, Day) -> Day -> Bool #

rangeSize :: (Day, Day) -> Int #

unsafeRangeSize :: (Day, Day) -> Int

TimeUnit Day Source # 

data Week Source #

Instances

Enum Week Source # 

Methods

succ :: Week -> Week #

pred :: Week -> Week #

toEnum :: Int -> Week #

fromEnum :: Week -> Int #

enumFrom :: Week -> [Week] #

enumFromThen :: Week -> Week -> [Week] #

enumFromTo :: Week -> Week -> [Week] #

enumFromThenTo :: Week -> Week -> Week -> [Week] #

Eq Week Source # 

Methods

(==) :: Week -> Week -> Bool #

(/=) :: Week -> Week -> Bool #

Integral Week Source # 

Methods

quot :: Week -> Week -> Week #

rem :: Week -> Week -> Week #

div :: Week -> Week -> Week #

mod :: Week -> Week -> Week #

quotRem :: Week -> Week -> (Week, Week) #

divMod :: Week -> Week -> (Week, Week) #

toInteger :: Week -> Integer #

Data Week Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Week -> c Week #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Week #

toConstr :: Week -> Constr #

dataTypeOf :: Week -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Week) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Week) #

gmapT :: (forall b. Data b => b -> b) -> Week -> Week #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Week -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Week -> r #

gmapQ :: (forall d. Data d => d -> u) -> Week -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Week -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Week -> m Week #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Week -> m Week #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Week -> m Week #

Num Week Source # 

Methods

(+) :: Week -> Week -> Week #

(-) :: Week -> Week -> Week #

(*) :: Week -> Week -> Week #

negate :: Week -> Week #

abs :: Week -> Week #

signum :: Week -> Week #

fromInteger :: Integer -> Week #

Ord Week Source # 

Methods

compare :: Week -> Week -> Ordering #

(<) :: Week -> Week -> Bool #

(<=) :: Week -> Week -> Bool #

(>) :: Week -> Week -> Bool #

(>=) :: Week -> Week -> Bool #

max :: Week -> Week -> Week #

min :: Week -> Week -> Week #

Read Week Source # 
Real Week Source # 

Methods

toRational :: Week -> Rational #

Show Week Source # 

Methods

showsPrec :: Int -> Week -> ShowS #

show :: Week -> String #

showList :: [Week] -> ShowS #

Ix Week Source # 

Methods

range :: (Week, Week) -> [Week] #

index :: (Week, Week) -> Week -> Int #

unsafeIndex :: (Week, Week) -> Week -> Int

inRange :: (Week, Week) -> Week -> Bool #

rangeSize :: (Week, Week) -> Int #

unsafeRangeSize :: (Week, Week) -> Int

TimeUnit Week Source # 

data Fortnight Source #

Instances

Enum Fortnight Source # 
Eq Fortnight Source # 
Integral Fortnight Source # 
Data Fortnight Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Fortnight -> c Fortnight #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Fortnight #

toConstr :: Fortnight -> Constr #

dataTypeOf :: Fortnight -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Fortnight) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Fortnight) #

gmapT :: (forall b. Data b => b -> b) -> Fortnight -> Fortnight #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Fortnight -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Fortnight -> r #

gmapQ :: (forall d. Data d => d -> u) -> Fortnight -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Fortnight -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Fortnight -> m Fortnight #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Fortnight -> m Fortnight #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Fortnight -> m Fortnight #

Num Fortnight Source # 
Ord Fortnight Source # 
Read Fortnight Source # 
Real Fortnight Source # 
Show Fortnight Source # 
Ix Fortnight Source # 
TimeUnit Fortnight Source # 

addTime :: (TimeUnit a, TimeUnit b, TimeUnit c) => a -> b -> c Source #

Add two times together to get a useful third time unit. As per usual, you'll want to make sure that you are careful regarding precision. This function goes through microseconds as an intermediary form.

subTime :: (TimeUnit a, TimeUnit b, TimeUnit c) => a -> b -> c Source #

Subtract the second time from the first, to get a useful third time unit. As per usual, you'll want to make sure that you are careful regarding precision. This function goes through microseconds as an intermediary form.

convertUnit :: (TimeUnit a, TimeUnit b) => a -> b Source #

Convert one time unit to another. Note that if you move from a smaller time unit to a larger one, or between two time units smaller than a microsecond, you will lose precision.

getCPUTimeWithUnit :: TimeUnit a => IO a Source #

Get the current CPU time in your favorite units. This is probably not very useful in itself, but is likely useful for comparison purposes ...