-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Compatibility package for time
--   
--   This packages tries to compat as much of <tt>time</tt> features as
--   possible.
--   
--   <i>TODO:</i>
--   
--   <ul>
--   <li>Difference type <tt>ParseTime</tt> and <tt>FormatTime</tt>
--   instances are missing.</li>
--   <li>Formatting varies depending on underlying <tt>time</tt>
--   version</li>
--   <li><tt>dayFractionToTimeOfDay</tt> on extreme values</li>
--   </ul>
@package time-compat
@version 1.9.5

module Data.Time.Format.ISO8601.Compat
data Format t
formatShowM :: Format t -> t -> Maybe String
formatShow :: Format t -> t -> String
formatReadP :: Format t -> ReadP t
formatParseM :: MonadFail m => Format t -> String -> m t
class ISO8601 t
iso8601Format :: ISO8601 t => Format t
iso8601Show :: ISO8601 t => t -> String
iso8601ParseM :: (MonadFail m, ISO8601 t) => String -> m t
data FormatExtension
ExtendedFormat :: FormatExtension
BasicFormat :: FormatExtension
formatReadPExtension :: (FormatExtension -> Format t) -> ReadP t
parseFormatExtension :: MonadFail m => (FormatExtension -> Format t) -> String -> m t
calendarFormat :: FormatExtension -> Format Day
yearMonthFormat :: Format (Integer, Int)
yearFormat :: Format Integer
centuryFormat :: Format Integer
expandedCalendarFormat :: Int -> FormatExtension -> Format Day
expandedYearMonthFormat :: Int -> Format (Integer, Int)
expandedYearFormat :: Int -> Format Integer
expandedCenturyFormat :: Int -> Format Integer
ordinalDateFormat :: FormatExtension -> Format Day
expandedOrdinalDateFormat :: Int -> FormatExtension -> Format Day
weekDateFormat :: FormatExtension -> Format Day
yearWeekFormat :: FormatExtension -> Format (Integer, Int)
expandedWeekDateFormat :: Int -> FormatExtension -> Format Day
expandedYearWeekFormat :: Int -> FormatExtension -> Format (Integer, Int)
timeOfDayFormat :: FormatExtension -> Format TimeOfDay
hourMinuteFormat :: FormatExtension -> Format TimeOfDay
hourFormat :: Format TimeOfDay
withTimeDesignator :: Format t -> Format t
withUTCDesignator :: Format t -> Format t
timeOffsetFormat :: FormatExtension -> Format TimeZone
timeOfDayAndOffsetFormat :: FormatExtension -> Format (TimeOfDay, TimeZone)
localTimeFormat :: Format Day -> Format TimeOfDay -> Format LocalTime
zonedTimeFormat :: Format Day -> Format TimeOfDay -> FormatExtension -> Format ZonedTime
utcTimeFormat :: Format Day -> Format TimeOfDay -> Format UTCTime
dayAndTimeFormat :: Format Day -> Format time -> Format (Day, time)
timeAndOffsetFormat :: Format t -> FormatExtension -> Format (t, TimeZone)
durationDaysFormat :: Format CalendarDiffDays
durationTimeFormat :: Format CalendarDiffTime
alternativeDurationDaysFormat :: FormatExtension -> Format CalendarDiffDays
alternativeDurationTimeFormat :: FormatExtension -> Format CalendarDiffTime
intervalFormat :: Format a -> Format b -> Format (a, b)
recurringIntervalFormat :: Format a -> Format b -> Format (Int, a, b)

module Data.Time.Format.Compat
class FormatTime t
formatTime :: FormatTime t => TimeLocale -> String -> t -> String
parseTimeM :: (MonadFail m, ParseTime t) => Bool -> TimeLocale -> String -> String -> m t
parseTimeOrError :: ParseTime t => Bool -> TimeLocale -> String -> String -> t
readSTime :: ParseTime t => Bool -> TimeLocale -> String -> ReadS t
readPTime :: ParseTime t => Bool -> TimeLocale -> String -> ReadP t
parseTime :: ParseTime t => TimeLocale -> String -> String -> Maybe t
readTime :: ParseTime t => TimeLocale -> String -> String -> t
readsTime :: ParseTime t => TimeLocale -> String -> ReadS t
class ParseTime t
data TimeLocale
TimeLocale :: [(String, String)] -> [(String, String)] -> (String, String) -> String -> String -> String -> String -> [TimeZone] -> TimeLocale
[wDays] :: TimeLocale -> [(String, String)]
[months] :: TimeLocale -> [(String, String)]
[amPm] :: TimeLocale -> (String, String)
[dateTimeFmt] :: TimeLocale -> String
[dateFmt] :: TimeLocale -> String
[timeFmt] :: TimeLocale -> String
[time12Fmt] :: TimeLocale -> String
[knownTimeZones] :: TimeLocale -> [TimeZone]
defaultTimeLocale :: TimeLocale
iso8601DateFormat :: Maybe String -> String
rfc822DateFormat :: String

module Data.Time.Clock.System.Compat
systemEpochDay :: Day
data SystemTime
MkSystemTime :: {-# UNPACK #-} !Int64 -> {-# UNPACK #-} !Word32 -> SystemTime
[systemSeconds] :: SystemTime -> {-# UNPACK #-} !Int64
[systemNanoseconds] :: SystemTime -> {-# UNPACK #-} !Word32
truncateSystemTimeLeapSecond :: SystemTime -> SystemTime
getSystemTime :: IO SystemTime
systemToUTCTime :: SystemTime -> UTCTime
utcToSystemTime :: UTCTime -> SystemTime
systemToTAITime :: SystemTime -> AbsoluteTime

module Data.Time.Clock.POSIX.Compat
posixDayLength :: NominalDiffTime
type POSIXTime = NominalDiffTime
posixSecondsToUTCTime :: POSIXTime -> UTCTime
utcTimeToPOSIXSeconds :: UTCTime -> POSIXTime
getPOSIXTime :: IO POSIXTime
getCurrentTime :: IO UTCTime
systemToPOSIXTime :: SystemTime -> POSIXTime

module Data.Time.Clock.Compat
newtype UniversalTime
ModJulianDate :: Rational -> UniversalTime
[getModJulianDate] :: UniversalTime -> Rational
data DiffTime
secondsToDiffTime :: Integer -> DiffTime
picosecondsToDiffTime :: Integer -> DiffTime
diffTimeToPicoseconds :: DiffTime -> Integer
data UTCTime
UTCTime :: Day -> DiffTime -> UTCTime
[utctDay] :: UTCTime -> Day
[utctDayTime] :: UTCTime -> DiffTime
data NominalDiffTime
secondsToNominalDiffTime :: Pico -> NominalDiffTime
nominalDiffTimeToSeconds :: NominalDiffTime -> Pico
nominalDay :: NominalDiffTime
addUTCTime :: NominalDiffTime -> UTCTime -> UTCTime
diffUTCTime :: UTCTime -> UTCTime -> NominalDiffTime
getCurrentTime :: IO UTCTime
getTime_resolution :: DiffTime

-- | Year of Common Era.
type Year = Integer

-- | Month of year, in range 1 (January) to 12 (December).
type MonthOfYear = Int

-- | Day of month, in range 1 to 31.
type DayOfMonth = Int

module Data.Time.Calendar.WeekDate.Compat

-- | Year of Common Era.
type Year = Integer

-- | Week of year, by various reckonings, generally in range 0-53 depending
--   on reckoning
type WeekOfYear = Int
data DayOfWeek
Monday :: DayOfWeek
Tuesday :: DayOfWeek
Wednesday :: DayOfWeek
Thursday :: DayOfWeek
Friday :: DayOfWeek
Saturday :: DayOfWeek
Sunday :: DayOfWeek
dayOfWeek :: Day -> DayOfWeek
data FirstWeekType

-- | first week is the first whole week of the year
FirstWholeWeek :: FirstWeekType

-- | first week is the first week with four days in the year
FirstMostWeek :: FirstWeekType
toWeekCalendar :: FirstWeekType -> DayOfWeek -> Day -> (Year, WeekOfYear, DayOfWeek)

-- | Convert from the given kind of "week calendar". Invalid week and day
--   values will be clipped to the correct range.
fromWeekCalendar :: FirstWeekType -> DayOfWeek -> Year -> WeekOfYear -> DayOfWeek -> Day

-- | Convert from the given kind of "week calendar". Invalid week and day
--   values will return Nothing.
fromWeekCalendarValid :: FirstWeekType -> DayOfWeek -> Year -> WeekOfYear -> DayOfWeek -> Maybe Day
toWeekDate :: Day -> (Integer, Int, Int)
fromWeekDate :: Integer -> Int -> Int -> Day

-- | Bidirectional abstract constructor for ISO 8601 Week Date format.
--   Invalid week values will be clipped to the correct range.
pattern YearWeekDay :: Year -> WeekOfYear -> DayOfWeek -> Day
fromWeekDateValid :: Integer -> Int -> Int -> Maybe Day
showWeekDate :: Day -> String
instance GHC.Classes.Eq Data.Time.Calendar.WeekDate.Compat.FirstWeekType

module Data.Time.Calendar.Month.Compat

-- | An absolute count of common calendar months. Number is equal to
--   <tt>(year * 12) + (monthOfYear - 1)</tt>.
newtype Month
MkMonth :: Integer -> Month
addMonths :: Integer -> Month -> Month
diffMonths :: Month -> Month -> Integer

-- | Bidirectional abstract constructor. Invalid months of year will be
--   clipped to the correct range.
pattern YearMonth :: Year -> MonthOfYear -> Month
fromYearMonthValid :: Year -> MonthOfYear -> Maybe Month

-- | Bidirectional abstract constructor. Invalid days of month will be
--   clipped to the correct range.
pattern MonthDay :: Month -> DayOfMonth -> Day
fromMonthDayValid :: Month -> DayOfMonth -> Maybe Day

-- | Part of <tt>YearMonth</tt> pattern
fromYearMonth :: Year -> MonthOfYear -> Month

-- | Part of <tt>YearMonth</tt> pattern
toYearMonth :: Month -> (Year, MonthOfYear)

-- | Part of <a>MonthDay</a> pattern
fromMonthDay :: Month -> DayOfMonth -> Day

-- | Part of <a>MonthDay</a> pattern
toMonthDay :: Day -> (Month, DayOfMonth)
instance Data.Data.Data Data.Time.Calendar.Month.Compat.Month
instance GHC.Classes.Ord Data.Time.Calendar.Month.Compat.Month
instance GHC.Classes.Eq Data.Time.Calendar.Month.Compat.Month
instance Control.DeepSeq.NFData Data.Time.Calendar.Month.Compat.Month
instance GHC.Enum.Enum Data.Time.Calendar.Month.Compat.Month
instance GHC.Ix.Ix Data.Time.Calendar.Month.Compat.Month
instance GHC.Show.Show Data.Time.Calendar.Month.Compat.Month
instance GHC.Read.Read Data.Time.Calendar.Month.Compat.Month
instance Data.Time.Format.Format.Class.FormatTime Data.Time.Calendar.Month.Compat.Month

module Data.Time.Calendar.Quarter.Compat

-- | Quarters of each year. Each quarter corresponds to three months.
data QuarterOfYear
Q1 :: QuarterOfYear
Q2 :: QuarterOfYear
Q3 :: QuarterOfYear
Q4 :: QuarterOfYear
addQuarters :: Integer -> Quarter -> Quarter
diffQuarters :: Quarter -> Quarter -> Integer

-- | An absolute count of year quarters. Number is equal to <tt>(year * 4)
--   + (quarterOfYear - 1)</tt>.
newtype Quarter
MkQuarter :: Integer -> Quarter

-- | Bidirectional abstract constructor.
pattern YearQuarter :: Year -> QuarterOfYear -> Quarter
monthOfYearQuarter :: MonthOfYear -> QuarterOfYear
monthQuarter :: Month -> Quarter
dayQuarter :: Day -> Quarter

-- | Part of <tt>YearQuarter</tt> pattern
fromYearQuarter :: Year -> QuarterOfYear -> Quarter

-- | Part of <tt>YearQuarter</tt> pattern
toYearQuarter :: Quarter -> (Year, QuarterOfYear)
instance GHC.Show.Show Data.Time.Calendar.Quarter.Compat.QuarterOfYear
instance GHC.Read.Read Data.Time.Calendar.Quarter.Compat.QuarterOfYear
instance Data.Data.Data Data.Time.Calendar.Quarter.Compat.QuarterOfYear
instance GHC.Classes.Ord Data.Time.Calendar.Quarter.Compat.QuarterOfYear
instance GHC.Classes.Eq Data.Time.Calendar.Quarter.Compat.QuarterOfYear
instance Data.Data.Data Data.Time.Calendar.Quarter.Compat.Quarter
instance GHC.Classes.Ord Data.Time.Calendar.Quarter.Compat.Quarter
instance GHC.Classes.Eq Data.Time.Calendar.Quarter.Compat.Quarter
instance Control.DeepSeq.NFData Data.Time.Calendar.Quarter.Compat.Quarter
instance GHC.Enum.Enum Data.Time.Calendar.Quarter.Compat.Quarter
instance GHC.Ix.Ix Data.Time.Calendar.Quarter.Compat.Quarter
instance GHC.Show.Show Data.Time.Calendar.Quarter.Compat.Quarter
instance GHC.Read.Read Data.Time.Calendar.Quarter.Compat.Quarter
instance Control.DeepSeq.NFData Data.Time.Calendar.Quarter.Compat.QuarterOfYear
instance GHC.Enum.Enum Data.Time.Calendar.Quarter.Compat.QuarterOfYear
instance GHC.Enum.Bounded Data.Time.Calendar.Quarter.Compat.QuarterOfYear

module Data.Time.Calendar.OrdinalDate.Compat
data Day

-- | Year of Common Era.
type Year = Integer

-- | Day of year, in range 1 (January 1st) to 366. December 31st is 365 in
--   a common year, 366 in a leap year.
type DayOfYear = Int

-- | Week of year, by various reckonings, generally in range 0-53 depending
--   on reckoning
type WeekOfYear = Int
toOrdinalDate :: Day -> (Integer, Int)
fromOrdinalDate :: Integer -> Int -> Day

-- | Bidirectional abstract constructor for ISO 8601 Ordinal Date format.
--   Invalid day numbers will be clipped to the correct range (1 to 365 or
--   366).
pattern YearDay :: Year -> DayOfYear -> Day
fromOrdinalDateValid :: Integer -> Int -> Maybe Day
showOrdinalDate :: Day -> String
isLeapYear :: Integer -> Bool
mondayStartWeek :: Day -> (Int, Int)
sundayStartWeek :: Day -> (Int, Int)
fromMondayStartWeek :: Integer -> Int -> Int -> Day
fromMondayStartWeekValid :: Integer -> Int -> Int -> Maybe Day
fromSundayStartWeek :: Integer -> Int -> Int -> Day
fromSundayStartWeekValid :: Integer -> Int -> Int -> Maybe Day

module Data.Time.Calendar.MonthDay.Compat

-- | Month of year, in range 1 (January) to 12 (December).
type MonthOfYear = Int

-- | Day of month, in range 1 to 31.
type DayOfMonth = Int

-- | Day of year, in range 1 (January 1st) to 366. December 31st is 365 in
--   a common year, 366 in a leap year.
type DayOfYear = Int
monthAndDayToDayOfYear :: Bool -> Int -> Int -> Int
monthAndDayToDayOfYearValid :: Bool -> Int -> Int -> Maybe Int
dayOfYearToMonthAndDay :: Bool -> Int -> (Int, Int)
monthLength :: Bool -> Int -> Int

module Data.Time.Calendar.Easter.Compat
sundayAfter :: Day -> Day
orthodoxPaschalMoon :: Integer -> Day
orthodoxEaster :: Integer -> Day
gregorianPaschalMoon :: Integer -> Day
gregorianEaster :: Integer -> Day

module Data.Time.Calendar.Compat
newtype Day
ModifiedJulianDay :: Integer -> Day
[toModifiedJulianDay] :: Day -> Integer
addDays :: Integer -> Day -> Day
diffDays :: Day -> Day -> Integer
data CalendarDiffDays
CalendarDiffDays :: Integer -> Integer -> CalendarDiffDays
[cdMonths] :: CalendarDiffDays -> Integer
[cdDays] :: CalendarDiffDays -> Integer
calendarDay :: CalendarDiffDays
calendarWeek :: CalendarDiffDays
calendarMonth :: CalendarDiffDays
calendarYear :: CalendarDiffDays
scaleCalendarDiffDays :: Integer -> CalendarDiffDays -> CalendarDiffDays
toGregorian :: Day -> (Integer, Int, Int)
fromGregorian :: Integer -> Int -> Int -> Day
fromGregorianValid :: Integer -> Int -> Int -> Maybe Day
showGregorian :: Day -> String
gregorianMonthLength :: Integer -> Int -> Int
addGregorianMonthsClip :: Integer -> Day -> Day
addGregorianMonthsRollOver :: Integer -> Day -> Day
addGregorianYearsClip :: Integer -> Day -> Day
addGregorianYearsRollOver :: Integer -> Day -> Day
addGregorianDurationClip :: CalendarDiffDays -> Day -> Day
addGregorianDurationRollOver :: CalendarDiffDays -> Day -> Day
diffGregorianDurationClip :: Day -> Day -> CalendarDiffDays
diffGregorianDurationRollOver :: Day -> Day -> CalendarDiffDays
isLeapYear :: Integer -> Bool
data DayOfWeek
Monday :: DayOfWeek
Tuesday :: DayOfWeek
Wednesday :: DayOfWeek
Thursday :: DayOfWeek
Friday :: DayOfWeek
Saturday :: DayOfWeek
Sunday :: DayOfWeek
dayOfWeek :: Day -> DayOfWeek

-- | <tt>dayOfWeekDiff a b = a - b</tt> in range 0 to 6. The number of days
--   from b to the next a.
dayOfWeekDiff :: DayOfWeek -> DayOfWeek -> Int

-- | The first day-of-week on or after some day
firstDayOfWeekOnAfter :: DayOfWeek -> Day -> Day

-- | Day of month, in range 1 to 31.
type DayOfMonth = Int

-- | Month of year, in range 1 (January) to 12 (December).
type MonthOfYear = Int

-- | Year of Common Era.
type Year = Integer

-- | Bidirectional abstract constructor for the proleptic Gregorian
--   calendar. Invalid values will be clipped to the correct range, month
--   first, then day.
pattern YearMonthDay :: Year -> MonthOfYear -> DayOfMonth -> Day

module Data.Time.LocalTime.Compat
data TimeZone
TimeZone :: Int -> Bool -> String -> TimeZone
[timeZoneMinutes] :: TimeZone -> Int
[timeZoneSummerOnly] :: TimeZone -> Bool
[timeZoneName] :: TimeZone -> String
timeZoneOffsetString :: TimeZone -> String
timeZoneOffsetString' :: Maybe Char -> TimeZone -> String
minutesToTimeZone :: Int -> TimeZone
hoursToTimeZone :: Int -> TimeZone
utc :: TimeZone
getTimeZone :: UTCTime -> IO TimeZone
getCurrentTimeZone :: IO TimeZone
data TimeOfDay
TimeOfDay :: Int -> Int -> Pico -> TimeOfDay
[todHour] :: TimeOfDay -> Int
[todMin] :: TimeOfDay -> Int
[todSec] :: TimeOfDay -> Pico
midnight :: TimeOfDay
midday :: TimeOfDay
makeTimeOfDayValid :: Int -> Int -> Pico -> Maybe TimeOfDay
timeToDaysAndTimeOfDay :: NominalDiffTime -> (Integer, TimeOfDay)
daysAndTimeOfDayToTime :: Integer -> TimeOfDay -> NominalDiffTime
utcToLocalTimeOfDay :: TimeZone -> TimeOfDay -> (Integer, TimeOfDay)
localToUTCTimeOfDay :: TimeZone -> TimeOfDay -> (Integer, TimeOfDay)
timeToTimeOfDay :: DiffTime -> TimeOfDay
timeOfDayToTime :: TimeOfDay -> DiffTime
dayFractionToTimeOfDay :: Rational -> TimeOfDay
timeOfDayToDayFraction :: TimeOfDay -> Rational

-- | Same as <a>timeToTimeOfDay</a>.
pastMidnight :: DiffTime -> TimeOfDay

-- | Same as <a>timeOfDayToTime</a>.
sinceMidnight :: TimeOfDay -> DiffTime
data CalendarDiffTime
CalendarDiffTime :: Integer -> NominalDiffTime -> CalendarDiffTime
[ctMonths] :: CalendarDiffTime -> Integer
[ctTime] :: CalendarDiffTime -> NominalDiffTime
calendarTimeDays :: CalendarDiffDays -> CalendarDiffTime
calendarTimeTime :: NominalDiffTime -> CalendarDiffTime
scaleCalendarDiffTime :: Integer -> CalendarDiffTime -> CalendarDiffTime
data LocalTime
LocalTime :: Day -> TimeOfDay -> LocalTime
[localDay] :: LocalTime -> Day
[localTimeOfDay] :: LocalTime -> TimeOfDay
addLocalTime :: NominalDiffTime -> LocalTime -> LocalTime
diffLocalTime :: LocalTime -> LocalTime -> NominalDiffTime
utcToLocalTime :: TimeZone -> UTCTime -> LocalTime
localTimeToUTC :: TimeZone -> LocalTime -> UTCTime
ut1ToLocalTime :: Rational -> UniversalTime -> LocalTime
localTimeToUT1 :: Rational -> LocalTime -> UniversalTime
data ZonedTime
ZonedTime :: LocalTime -> TimeZone -> ZonedTime
[zonedTimeToLocalTime] :: ZonedTime -> LocalTime
[zonedTimeZone] :: ZonedTime -> TimeZone
utcToZonedTime :: TimeZone -> UTCTime -> ZonedTime
zonedTimeToUTC :: ZonedTime -> UTCTime
getZonedTime :: IO ZonedTime
utcToLocalZonedTime :: UTCTime -> IO ZonedTime

module Data.Time.Compat

module Data.Time.Clock.TAI.Compat
data AbsoluteTime
taiEpoch :: AbsoluteTime
addAbsoluteTime :: DiffTime -> AbsoluteTime -> AbsoluteTime
diffAbsoluteTime :: AbsoluteTime -> AbsoluteTime -> DiffTime
taiNominalDayStart :: Day -> AbsoluteTime
type LeapSecondMap = Day -> Maybe Int
utcDayLength :: LeapSecondMap -> Day -> Maybe DiffTime
utcToTAITime :: LeapSecondMap -> UTCTime -> Maybe AbsoluteTime
taiToUTCTime :: LeapSecondMap -> AbsoluteTime -> Maybe UTCTime
taiClock :: Maybe (DiffTime, IO AbsoluteTime)

module Data.Time.Calendar.Julian.Compat

-- | Year of Common Era.
type Year = Integer

-- | Month of year, in range 1 (January) to 12 (December).
type MonthOfYear = Int

-- | Day of month, in range 1 to 31.
type DayOfMonth = Int

-- | Day of year, in range 1 (January 1st) to 366. December 31st is 365 in
--   a common year, 366 in a leap year.
type DayOfYear = Int
toJulianYearAndDay :: Day -> (Integer, Int)
fromJulianYearAndDay :: Integer -> Int -> Day
fromJulianYearAndDayValid :: Integer -> Int -> Maybe Day
showJulianYearAndDay :: Day -> String
isJulianLeapYear :: Integer -> Bool
toJulian :: Day -> (Integer, Int, Int)
fromJulian :: Integer -> Int -> Int -> Day

-- | Bidirectional abstract constructor for the proleptic Julian calendar.
--   Invalid values will be clipped to the correct range, month first, then
--   day.
pattern JulianYearMonthDay :: Year -> MonthOfYear -> DayOfMonth -> Day
fromJulianValid :: Integer -> Int -> Int -> Maybe Day
showJulian :: Day -> String
julianMonthLength :: Integer -> Int -> Int
addJulianMonthsClip :: Integer -> Day -> Day
addJulianMonthsRollOver :: Integer -> Day -> Day
addJulianYearsClip :: Integer -> Day -> Day
addJulianYearsRollOver :: Integer -> Day -> Day
addJulianDurationClip :: CalendarDiffDays -> Day -> Day
addJulianDurationRollOver :: CalendarDiffDays -> Day -> Day
diffJulianDurationClip :: Day -> Day -> CalendarDiffDays
diffJulianDurationRollOver :: Day -> Day -> CalendarDiffDays
