úÎiŸdU      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTNone"#+,-;<=FQSTVh ™Constraint alias for DivRat units.CThis class gives the integer associated with a type-level rational.4Rational numbers, with numerator and denominator of U type.1More convenient name for promoted constructor of .'The result kind of overloaded division.-The result kind of overloaded multiplication.qData structure represents the rational number. Rational number can be represented as a pair of natural numbers n and m where m is nor equal to zero.  None"#+-.6<FKSTVh1û Constraint alias for   and  for time unit. Constraint alias for V  . Type family for prettier W of time units. ETime unit is represented as type level rational multiplier with kind .Returns type-level X of the time unit converted to Y.Creates   of some type from given U.Creates  from given U.sec 4242sCreates  from given U.ms 4242msCreates  from given U.mcs 4242mcsCreates  from given U.ns 4242ns Creates  from given U.ps 4242ps!Creates  from given U. minute 4242m"Creates  from given U.hour 4242h#Creates  from given U.day 4242d$Creates  from given U.week 4242w%Creates  from given U. fortnight 4242fn& Similar to Z, but works with   units.floorUnit @Day (Time $ 5 % 2)2d floorUnit (Time @Second $ 2 % 3)0sfloorUnit $ ps 4242ps'Convert time to the [ in given units.For example, instead of writing )foo :: POSIXTime foo = 10800 -- 3 hours 'one can write more safe implementation: foo = toNum @Second $ hour 3  Examples:toNum @Second @Natural $ hour 310800toNum @Minute @Int $ hour 3180toNum @Hour @Natural $ hour 33(1Converts from one time unit to another time unit.!toUnit @Hour (120 :: Time Minute)2htoUnit @Second (ms 7)7/1000stoUnit @Week (Time @Day 45)6+3/7wtoUnit @Second @Minute 3180s$toUnit (day 42000000) :: Time Second3628800000000s)Convenient version of 8 which takes any time-unit and operates in any MonadIO. >>> threadDelay $ sec 2 ">>> threadDelay (2 :: Time Second) >>> threadDelay @Second 2 * Similar to \‰ but returns the CPU time used by the current program in the given time unit. The precision of this result is implementation-dependent. >>> getCPUTime @Second 1064046949/1000000000s + Similar to ]? but receiving any time unit instead of number of microseconds. .>>> timeout (sec 1) (putStrLn "Hello O'Clock") Hello O'Clock Just ()  ->>> timeout (ps 1) (putStrLn "Hello O'Clock") Nothing .>>> timeout (mcs 1) (putStrLn "Hello O'Clock") HellNothing ,/Has the same behavior as derived instance, but ^) operator throws the runtime error with _.-/Has the same behavior as derived instance, but `) operator throws the runtime error with _./-Addition is associative binary operation for a of  .+timeb actionreturns c0 if no result is available within the given time"  !"#$%&'()*+"  &' !"#$%()*+ None "#-<FKTVhHk 8 Similar to  & but has no units and can be negative.:Converts unix time to 8.;(Returns the result of comparison of two 8 s and the  ' of that difference of given time unit.,timeDiff @Second (Timestamp 4) (Timestamp 2)(GT,2s),timeDiff @Minute (Timestamp 4) (Timestamp 2) (GT,1/30m),timeDiff @Second (Timestamp 2) (Timestamp 4)(LT,2s),timeDiff @Minute (Timestamp 2) (Timestamp 4) (LT,1/30m)<"Returns the result of addition of   with 8 elements.sec 5 `timeAdd` (Timestamp 4)Timestamp (9 % 1) minute 1 `timeAdd` (Timestamp 5)Timestamp (65 % 1)=,Returns the result of multiplication of two   elements.>Operator version of =. 3 *:* sec 515s2 *:* 3 *:* sec 530s3 *:* 5 *:* 7 :: Time Second105sms 2000 +:+ 2 *:* sec 38s?&Returns the result of division of two   elements.@Operator version of ?.sec 15 /:/ sec 35 % 1ASums times of different units.minute 1 +:+ sec 161sBwSubstracts time amounts of different units. When the minuend is smaller than the subtrahend, this function will throw Underflow :: ArithException.minute 1 -:- sec 159sC¸Compute the difference between two amounts of time. The result is returned in two components: the ordering (which input is larger) and the numeric difference (how much larger). Unlike B, does not throw ArithException.sec 5 -%- sec 3(GT,2s)sec 5 -%- sec 6(LT,1s) 89:;<=>?@ABC 89:;<=>?@ABC89>7@7A6B6C6None"#-.;<=FQSTVhbOHClass for time parsing.IEmpty string on input will be parsed as 0 time of the required time unit:+seriesP @'[Hour, Minute, Second] @Second "" Just (0s)Examples8seriesP @'[Day, Hour, Minute, Second] @Minute "2d18h40m" Just (4000m)1seriesP @'[Day, Minute, Second] @Minute "2d1120m" Just (4000m)/seriesP @'[Hour, Minute, Second] @Second "1h1s" Just (3601s)3seriesP @'[Hour, Second, Millisecond] @Minute "90s" Just (1+1/2m)'seriesP @'[Hour, Second] @Second "11ns"Nothing)seriesP @'[Hour, Minute] @Minute "1+1/2h"Nothing)seriesP @'[Hour, Minute] @Minute "1+1/2m" Just (1+1/2m)+seriesP @'[Hour, Minute] @Minute "1h1+1/2m"Just (61+1/2m)Note:W The received list should be in descending order. It would be verified at compile-time.JClass for time formatting.Examples3seriesF @'[Day, Hour, Minute, Second] (minute 4000) "2d18h40m"-seriesF @'[Day, Minute, Second] (minute 4000) "2d1120m"+seriesF @'[Hour, Minute, Second] (sec 3601)"1h1s"<seriesF @'[Hour, Second, Millisecond] (Time @Minute $ 3 % 2)"90s"#seriesF @'[Hour, Second] (minute 0)"0h"4seriesF @'[Hour, Minute, Second] (Time @Day (2 % 7))"6h51m25+5/7s"qThe received list should be in descending order. It would be verified at compile-time. Example of the error from ghci: # 127 "srcTime Series.hs"L*Type-level list that consist of all times.M Similar to K2, but formats using all time units of the library.unitsF $ fortnight 5"5fn"unitsF $ minute 4000 "2d18h40m"N Similar to I1, but parses using all time units of the library.unitsP @Second "1m" Just (60s)unitsP @Minute "2d18h40m" Just (4000m)HIJKLMNLJKMHINHIJKNone "#FTVhc!>  !"#$%&'()*+89:;<=>?@ABCHIJKLMNd      !"#$%&'()*+,-./0123456789:;<==>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[Y\]Y^_`abYcdYefYghYi/Yj0YekYlmYgnYop`aqYcrs$o-clock-0.1.1-FbmxcZY9o6N3rkh1wrH6i5 Time.Rational Time.UnitsTime.Timestamp Time.SeriesControl.Concurrent threadDelayTime KnownDivRatKnownRatratValRatioNat:%DivKMulKRat::% $fKnownRat::% KnownRatName KnownUnitNameUnitNameunTime FortnightWeekDayHourMinute Picosecond Nanosecond Microsecond MillisecondSecond unitNameValtimesecmsmcsnspsminutehourdayweek fortnight floorUnittoNumtoUnit getCPUTimetimeout$fFractionalTime $fNumTime $fMonoidTime$fSemigroupTime $fReadTime $fShowTime$fEqTime $fOrdTime $fEnumTime $fRealTime$fRealFracTime $fGenericTime Timestamp fromUnixTimetimeDifftimeAddtimeMul*:*timeDiv/:/+:+-:--%-$fShowTimestamp$fReadTimestamp $fEqTimestamp$fOrdTimestampSeriesPseriesPSeriesFseriesFAllTimesunitsFunitsP $fSeriesF: $fSeriesF:0 $fSeriesF[] $fSeriesP: $fSeriesP:0 $fSeriesP[]base GHC.NaturalNatural GHC.TypeLits KnownSymbolGHC.Showshowghc-prim GHC.TypesSymbolGHC.BaseStringGHC.RealfloorGHC.NumNumSystem.CPUTimeSystem.Timeout/GHC.Errerror*Data.Semigroup SemigroupIONothing