-- 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