-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Generate recurring dates.
--
-- time-recurrence is a library for generating recurring dates. It is
-- based on the iCalendar spec (RFC 5545). However it makes no attempt to
-- strictly follow the spec.
@package time-recurrence
@version 0.6
module Data.Time.Calendar.WeekDay
data WeekDay
Monday :: WeekDay
Tuesday :: WeekDay
Wednesday :: WeekDay
Thursday :: WeekDay
Friday :: WeekDay
Saturday :: WeekDay
Sunday :: WeekDay
instance Show WeekDay
instance Eq WeekDay
instance Ord WeekDay
instance Enum WeekDay
instance Bounded WeekDay
module Data.Time.Moment.Interval
data Interval
toInterval :: Integer -> Interval
module Data.Time.Moment.StartOfWeek
data StartOfWeek
toStartOfWeek :: WeekDay -> StartOfWeek
module Data.Time.Calendar.Month
data Month
January :: Month
February :: Month
March :: Month
April :: Month
May :: Month
June :: Month
July :: Month
August :: Month
September :: Month
October :: Month
November :: Month
December :: Month
instance Show Month
instance Eq Month
instance Ord Month
instance Bounded Month
instance Enum Month
module Data.Time.CalendarTime
-- | A representation of calendar time separated into year, month, day, and
-- so on.
data CalendarTime
CalendarTime :: Int -> Int -> Int -> Int -> Month -> Integer -> WeekDay -> Int -> TimeZone -> CalendarTime
calendarSecond :: CalendarTime -> Int
calendarMinute :: CalendarTime -> Int
calendarHour :: CalendarTime -> Int
calendarDay :: CalendarTime -> Int
calendarMonth :: CalendarTime -> Month
calendarYear :: CalendarTime -> Integer
calendarWeekDay :: CalendarTime -> WeekDay
calendarYearDay :: CalendarTime -> Int
calendarTimeZone :: CalendarTime -> TimeZone
-- | Convert to a Day
toDay :: CalendarTime -> Maybe Day
-- | Change y-m-d in CalendarTime
withDay :: CalendarTime -> Day -> CalendarTime
-- | Convert to a TimeOfDay
toTimeOfDay :: CalendarTime -> Maybe TimeOfDay
daysInYear :: CalendarTimeConvertible a => a -> Int
lastDayOfMonth :: CalendarTimeConvertible a => a -> Int
weekNumber :: CalendarTimeConvertible a => StartOfWeek -> a -> Maybe Int
-- | The class of types which can be converted to a CalendarTime
class CalendarTimeConvertible t
toCalendarTime :: CalendarTimeConvertible t => t -> CalendarTime
toCalendarTimeWithTimeZone :: CalendarTimeConvertible t => t -> TimeZone -> CalendarTime
fromCalendarTime :: CalendarTimeConvertible t => CalendarTime -> Maybe t
module Data.Time.Moment
module Data.Time.Recurrence.Schedule
type Schedule a = Reader (InitialMoment a) [a]
recur :: a -> a
-- | starting is an infinite list of Moments, where no
-- Moment occurrs before the InitialMoment. The list is
-- further refined by the passed in function.
starting :: (Ord a, Moment a) => InitialMoment a -> a -> ([a] -> Schedule a) -> [a]
begin :: (Ord a, Moment a) => InitialMoment a -> a -> [a]
enumMonths :: (CalendarTimeConvertible a, Moment a) => [Month] -> [a] -> Schedule a
enumDays :: (CalendarTimeConvertible a, Moment a) => [Int] -> [a] -> Schedule a
enumWeekDaysInWeek :: (CalendarTimeConvertible a, Moment a) => [WeekDay] -> [a] -> Schedule a
enumWeekDaysInMonth :: (CalendarTimeConvertible a, Moment a) => [WeekDay] -> [a] -> Schedule a
enumYearDays :: (CalendarTimeConvertible a, Moment a) => [Int] -> [a] -> Schedule a
enumHours :: (CalendarTimeConvertible a, Moment a) => [Int] -> [a] -> Schedule a
enumMinutes :: (CalendarTimeConvertible a, Moment a) => [Int] -> [a] -> Schedule a
enumSeconds :: (CalendarTimeConvertible a, Moment a) => [Int] -> [a] -> Schedule a
nthMonth :: CalendarTimeConvertible a => [Int] -> [a] -> Schedule a
nthDay :: CalendarTimeConvertible a => [Int] -> [a] -> Schedule a
nthWeekDay :: CalendarTimeConvertible a => [Int] -> [a] -> Schedule a
nthWeekDayOfWeek :: CalendarTimeConvertible a => [Int] -> [a] -> Schedule a
nthWeekDayOfMonth :: CalendarTimeConvertible a => [Int] -> [a] -> Schedule a
nthYearDay :: CalendarTimeConvertible a => [Int] -> [a] -> Schedule a
nthHour :: CalendarTimeConvertible a => [Int] -> [a] -> Schedule a
nthMinute :: CalendarTimeConvertible a => [Int] -> [a] -> Schedule a
nthSecond :: CalendarTimeConvertible a => [Int] -> [a] -> Schedule a
filterMonths :: CalendarTimeConvertible a => [Month] -> [a] -> Schedule a
filterDays :: CalendarTimeConvertible a => [Int] -> [a] -> Schedule a
filterWeekDays :: CalendarTimeConvertible a => [WeekDay] -> [a] -> Schedule a
filterYearDays :: CalendarTimeConvertible a => [Int] -> [a] -> Schedule a
filterHours :: CalendarTimeConvertible a => [Int] -> [a] -> Schedule a
filterMinutes :: CalendarTimeConvertible a => [Int] -> [a] -> Schedule a
filterSeconds :: CalendarTimeConvertible a => [Int] -> [a] -> Schedule a
module Data.Time.Recurrence
-- | A representation of calendar time separated into year, month, day, and
-- so on.
data CalendarTime
CalendarTime :: Int -> Int -> Int -> Int -> Month -> Integer -> WeekDay -> Int -> TimeZone -> CalendarTime
calendarSecond :: CalendarTime -> Int
calendarMinute :: CalendarTime -> Int
calendarHour :: CalendarTime -> Int
calendarDay :: CalendarTime -> Int
calendarMonth :: CalendarTime -> Month
calendarYear :: CalendarTime -> Integer
calendarWeekDay :: CalendarTime -> WeekDay
calendarYearDay :: CalendarTime -> Int
calendarTimeZone :: CalendarTime -> TimeZone