úÎd›_ES      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRNone"#+,-;<=FQSTVh Constraint alias for DivRat units.CThis class gives the integer associated with a type-level rational.4Rational numbers, with numerator and denominator of S 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<FKSTVh0ÿ Constraint alias for   and  for time unit. Constraint alias for T  . Type family for prettier U of time units. ETime unit is represented as type level rational multiplier with kind .Returns type-level V of the time unit converted to W.Creates   of some type from given S.Creates  from given S.sec 4242sCreates  from given S.ms 4242msCreates  from given S.mcs 4242mcsCreates  from given S.ns 4242ns Creates  from given S.ps 4242ps!Creates  from given S. minute 4242m"Creates  from given S.hour 4242h#Creates  from given S.day 4242d$Creates  from given S.week 4242w%Creates  from given S. fortnight 4242fn& Similar to X, but works with   units.floorUnit @Day (Time $ 5 % 2)2d floorUnit (Time @Second $ 2 % 3)0sfloorUnit $ ps 4242ps'Convert time to the Y 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 Z‰ 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 ].+time_ actionreturns `0 if no result is available within the given time"  !"#$%&'()*+"  &' !"#$%()*+ None "#-<FKTVhC‘ 6 Similar to  & but has no units and can be negative.8Converts unix time to 6.9(Returns the result of comparison of two 6 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 6 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 % 1?Sums times of different units.minute 1 +:+ sec 161s@$Substracts times of different units.minute 1 -:- sec 159sA Similar to @H but more safe and returns order in pair with resulting time difference.sec 5 -%- sec 3(GT,2s)sec 5 -%- sec 6(LT,1s) 6789:;<=>?@A 6789:;<=>?@A67<7>7?6@6A6None"#-.;<=FQSTVh]uFClass 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.HClass 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"J*Type-level list that consist of all times.K Similar to I2, but formats using all time units of the library.unitsF $ fortnight 5"5fn"unitsF $ minute 4000 "2d18h40m"L Similar to G1, but parses using all time units of the library.unitsP @Second "1m" Just (60s)unitsP @Minute "2d18h40m" Just (4000m)FGHIJKLJHIKFGLFGHINone "#FTVh^G>  !"#$%&'()*+6789:;<=>?@AFGHIJKLa      !"#$%&'()*+,-./0123456789:;;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYWZ[W\]^_`WabWcdWefWg/Wh0WciWjkWel^_mWano$o-clock-0.1.0-7lwW4MNCemo8IYOhw9yjfA 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 $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*IONothing