Haddock comments
authorPHO <pho@cielonegro.org>
Mon, 15 Mar 2010 08:35:10 +0000 (17:35 +0900)
committerPHO <pho@cielonegro.org>
Mon, 15 Mar 2010 08:35:10 +0000 (17:35 +0900)
Data/Time/W3C.hs
Data/Time/W3C/Format.hs
Data/Time/W3C/Parser.hs
Data/Time/W3C/Parser/Parsec.hs
Data/Time/W3C/Types.hs
time-w3c.cabal

index 5cf18224b9453891096c27cc17f76421b38722f0..8c7346d9c2774b176ca221b88e0dff3a908c03dd 100644 (file)
@@ -1,3 +1,9 @@
+-- | This package provides functionalities to parse and format W3C
+-- Date and Time. The package can also be used to convert it from/to
+-- 'Data.Time.Calendar.Day' and 'Data.Time.LocalTime.ZonedTime'.
+--
+-- See: <http://www.w3.org/TR/NOTE-datetime>
+
 module Data.Time.W3C
     ( W3CDateTime(..)
     , format
index f3f9fac77d1bb37e79ee8b8fe3e8a8c9c9ed8c19..928032b0249893f1c0967f4f2d7ffaf7f73252bf 100644 (file)
@@ -1,3 +1,4 @@
+-- | Format W3C Date and Time strings.
 module Data.Time.W3C.Format
     ( format
     )
@@ -9,6 +10,9 @@ import Data.Time
 import Data.Time.W3C.Types
 
 
+-- | Format W3C Date and Time string from anything convertible to
+-- 'W3CDateTime' type. The most obvious acceptable type is the
+-- 'W3CDateTime' itself.
 format :: Convertible t W3CDateTime => t -> String
 format = format' . convert
     where
index 8104ce82772f280e4713480b18c4c9f1322e438f..5bf2f9e674315d32092568d9d154b0bc8a257fae 100644 (file)
@@ -1,3 +1,4 @@
+-- | Parse W3C Date and Time string.
 module Data.Time.W3C.Parser
     ( parse
     )
@@ -9,6 +10,10 @@ import Data.Convertible
 import Data.Time.W3C.Parser.Parsec
 import Data.Time.W3C.Types
 
+-- | Parse W3C Date and Time string to anything convertible from
+-- 'W3CDateTime' type. The most obvious acceptable type is the
+-- 'W3CDateTime' itself. If the given string is ill-formatted, 'parse'
+-- returns 'Prelude.Nothing'.
 parse :: Convertible W3CDateTime t => String -> Maybe t
 parse src = case P.parse p "" src of
               Right w3c -> Just (convert w3c)
index 6b960acc2d6d01bc5b1e21f66159e771e4f4b46a..862430c3c44535e1f45a55da224823b99eb8d32e 100644 (file)
@@ -1,3 +1,4 @@
+-- | W3C Date and Time parser combinator for "Text.Parsec".
 module Data.Time.W3C.Parser.Parsec
     ( w3cDateTime
     )
@@ -8,7 +9,7 @@ import Data.Time
 import Data.Time.W3C.Types
 import Text.Parsec
 
-
+-- | This is a parser combinator for "Text.Parsec".
 w3cDateTime :: Stream s m Char => ParsecT s u m W3CDateTime
 w3cDateTime = read4 >>= mdhmst
     where
index 3a996cba2fe60574e7cf622848dfeb065b0fd746..c270e3659035b7b823038898b2a26e6b3708e416 100644 (file)
@@ -1,3 +1,4 @@
+-- | Data types defined by this package.
 module Data.Time.W3C.Types
     ( W3CDateTime(..)
     )
@@ -9,8 +10,26 @@ import Data.Time
 import Data.Typeable
 
 
+-- |'W3CDateTime' represents a W3C Date and Time format.
+--
+-- The field 'w3cYear' is mandatory while other fields are
+-- optional. But you should be careful about combinations of such
+-- optional fields. No combinations are allowed except for the
+-- following list:
+--
+--   * YYYY
+--
+--   * YYYY-MM
+--
+--   * YYYY-MM-DD
+--
+--   * YYYY-MM-DDThh:mmTZD
+--
+--   * YYYY-MM-DDThh:mm:ss.sTZD
+--
 -- This data type is /partially ordered/ so we can't make it an
--- instance of Ord (e.g. "2010" and "2010-01" can't be compared).
+-- instance of Ord (e.g. @\"2010\"@ and @\"2010-01\"@ can't be
+-- compared).
 data W3CDateTime
     = W3CDateTime {
         w3cYear     :: !Integer
index dabe6dd24359b12db250b27b4c3c7dd6e5f5cc22..69c0ee7236aca6682fabfa35ddc8f70ab896fbf7 100644 (file)
@@ -2,11 +2,13 @@ Name:                time-w3c
 Version:             0.1
 Synopsis:            Parse, format and convert W3C Date and Time
 Description:
-        This module provides functionalities to parse and format W3C
-        Date and Time. The module can also be used to convert it
+        This package provides functionalities to parse and format W3C
+        Date and Time. The package can also be used to convert it
         from/to 'Data.Time.Calendar.Day' and
         'Data.Time.LocalTime.ZonedTime'.
 
+        See: <http://www.w3.org/TR/NOTE-datetime>
+
 License:             PublicDomain
 License-file:        COPYING
 Author:              PHO <pho AT cielonegro DOT org>