[commit: packages/time] format-widths, improve-leapseconds, master, posix-perf, tasty, wip/travis: TAI documentation (0782592)

git at git.haskell.org git at git.haskell.org
Mon Feb 20 21:08:07 UTC 2017


Repository : ssh://git@git.haskell.org/time

On branches: format-widths,improve-leapseconds,master,posix-perf,tasty,wip/travis
Link       : http://git.haskell.org/packages/time.git/commitdiff/07825921e2e187d56a1e0838ea35d13d733ffb66

>---------------------------------------------------------------

commit 07825921e2e187d56a1e0838ea35d13d733ffb66
Author: Ashley Yakeley <ashley at semantic.org>
Date:   Sun May 8 21:08:36 2005 -0700

    TAI documentation
    
    darcs-hash:20050509040836-ac6dd-189305d5b41c695936e994099c0f6b0f5f952fbf


>---------------------------------------------------------------

07825921e2e187d56a1e0838ea35d13d733ffb66
 System/Time/TAI.hs | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/System/Time/TAI.hs b/System/Time/TAI.hs
index 8cd7315..f78eab0 100644
--- a/System/Time/TAI.hs
+++ b/System/Time/TAI.hs
@@ -1,10 +1,10 @@
 {-# OPTIONS -Wall -Werror #-}
 
--- | most people won't need this module
+-- | TAI and leap-second tables for converting to UTC: most people won't need this module.
 module System.Time.TAI
 (
 	-- TAI arithmetic
-	AbsoluteTime,addAbsoluteTime,diffAbsoluteTime,
+	AbsoluteTime,taiEpoch,addAbsoluteTime,diffAbsoluteTime,
 
 	-- leap-second table type
 	LeapSecondTable,
@@ -15,16 +15,24 @@ module System.Time.TAI
 
 import System.Time.Clock
 
--- | TAI as DiffTime from epoch
+-- | AbsoluteTime is TAI, time as measured by a clock.
 newtype AbsoluteTime = MkAbsoluteTime DiffTime deriving (Eq,Ord)
 
+-- | The epoch of TAI, which is 
+taiEpoch :: AbsoluteTime
+taiEpoch = MkAbsoluteTime 0
+
+-- | addAbsoluteTime a b = a + b
 addAbsoluteTime :: DiffTime -> AbsoluteTime -> AbsoluteTime
 addAbsoluteTime t (MkAbsoluteTime a) = MkAbsoluteTime (t + a)
 
+-- | diffAbsoluteTime a b = a - b
 diffAbsoluteTime :: AbsoluteTime -> AbsoluteTime -> DiffTime
 diffAbsoluteTime (MkAbsoluteTime a) (MkAbsoluteTime b) = a - b
 
--- | TAI - UTC during this day
+-- | TAI - UTC during this day.
+-- No table is provided, as any program compiled with it would become
+-- out of date in six months.
 type LeapSecondTable = ModJulianDay -> Integer
 
 utcDayLength :: LeapSecondTable -> ModJulianDay -> DiffTime
@@ -35,4 +43,4 @@ utcToTAITime table (UTCTime day dtime) = MkAbsoluteTime
 	((realToFrac (day * 86400 + (table day))) + dtime)
 
 taiToUTCTime :: LeapSecondTable -> AbsoluteTime -> UTCTime
-taiToUTCTime table (MkAbsoluteTime t) = undefined table t
+taiToUTCTime table (MkAbsoluteTime t) = undefined table t -- WRONG



More information about the ghc-commits mailing list