data Persian : Type The astronomical Persian calendar over its vouched year range 1-1500.
Totality: total
Visibility: public export
Constructor: PersianCalendar : Persian
Hint: Calendar Persian
data PersianMonth : Type- Totality: total
Visibility: public export
Constructors:
Farvardin : PersianMonth Ordibehesht : PersianMonth Khordad : PersianMonth Tir : PersianMonth Mordad : PersianMonth Shahrivar : PersianMonth Mehr : PersianMonth Aban : PersianMonth Azar : PersianMonth Dey : PersianMonth Bahman : PersianMonth Esfand : PersianMonth
Hints:
Eq PersianMonth Ord PersianMonth Show PersianMonth
monthNumber : PersianMonth -> Integer- Totality: total
Visibility: public export weekdayFromDays : Integer -> DayOfWeek- Totality: total
Visibility: public export minimumYear : Integer- Totality: total
Visibility: public export maximumYear : Integer- Totality: total
Visibility: public export epoch : Integer- Totality: total
Visibility: public export leapYears : List Integer- Totality: total
Visibility: public export isLeapYear : Year -> Bool Whether a supported Persian year contains Esfand 30.
Totality: total
Visibility: public exportcountLeapsBefore : Integer -> List Integer -> Integer- Totality: total
Visibility: public export newYearDay : Year -> Integer- Totality: total
Visibility: public export lastDay : Integer- Totality: total
Visibility: public export record PersianDate : Type- Totality: total
Visibility: export
Constructor: MkPersianDate : (daysSinceEpoch : Integer) -> (0 _ : So ((daysSinceEpoch >= epoch) && Delay (daysSinceEpoch <= lastDay))) -> PersianDate
Projections:
.daysSinceEpoch : PersianDate -> Integer 0 .validDays : ({rec:0} : PersianDate) -> So ((daysSinceEpoch {rec:0} >= epoch) && Delay (daysSinceEpoch {rec:0} <= lastDay))
Hints:
ApplyPeriod PersianDate CalendarNavigation PersianDate CalendarValue PersianDate Eq PersianDate HasCalendar PersianDate HasCalendarBridge PersianDate Ord PersianDate PeriodTarget PersianDate Show PersianDate
maxDaysInMonth : PersianMonth -> Year -> DayOfMonth- Totality: total
Visibility: public export isValidDate : DayOfMonth -> PersianMonth -> Year -> Bool- Totality: total
Visibility: public export monthOffset : PersianMonth -> Integer- Totality: total
Visibility: public export daysFromCivil : Year -> PersianMonth -> DayOfMonth -> Integer- Totality: total
Visibility: public export calendarDate : (valueDay : DayOfMonth) -> (valueMonth : PersianMonth) -> (valueYear : Year) -> {auto 0 _ : So (isValidDate valueDay valueMonth valueYear)} -> CalendarDate Persian Construct a statically validated Persian date in years 1-1500.
Totality: total
Visibility: public exportdata PersianDateError : Type Failures produced while refining untrusted Persian date data.
Totality: total
Visibility: public export
Constructors:
InvalidPersianDate : DayOfMonth -> PersianMonth -> Year -> PersianDateError InvalidPersianDayCount : Integer -> PersianDateError InvalidPersianNthDay : DayNth -> DayOfWeek -> PersianMonth -> Year -> PersianDateError InvalidPersianWeekDate : WeekNumber -> DayOfWeek -> Year -> PersianDateError
refineDate : DayOfMonth -> PersianMonth -> Year -> Either PersianDateError (CalendarDate Persian) Validate runtime day, month, and year components as a Persian date.
Totality: total
Visibility: public exportfromDays : (days : Integer) -> {auto 0 _ : So (isValidDays days)} -> CalendarDate Persian Construct a Persian date from a statically valid calendar-relative day count.
Totality: total
Visibility: public exportrefineDays : Integer -> Either PersianDateError (CalendarDate Persian) Validate a runtime Persian day count within the supported year range.
Totality: total
Visibility: public exportnthDayOfMonth : DayNth -> DayOfWeek -> PersianMonth -> Year -> DayOfMonth- Totality: total
Visibility: public export isValidNthDay : DayNth -> DayOfWeek -> PersianMonth -> Year -> Bool- Totality: total
Visibility: public export fromNthDay : (nth : DayNth) -> (target : DayOfWeek) -> (valueMonth : PersianMonth) -> (valueYear : Year) -> {auto 0 _ : So (isValidNthDay nth target valueMonth valueYear)} -> CalendarDate Persian Construct the nth requested weekday in a Persian month.
Totality: total
Visibility: public exportrefineNthDay : DayNth -> DayOfWeek -> PersianMonth -> Year -> Either PersianDateError (CalendarDate Persian) Validate an nth-weekday request for a Persian month.
Totality: total
Visibility: public exportweekDateDays : WeekNumber -> DayOfWeek -> Year -> Integer- Totality: total
Visibility: public export isValidWeekDate : WeekNumber -> DayOfWeek -> Year -> Bool- Totality: total
Visibility: public export fromWeekDate : (week : WeekNumber) -> (target : DayOfWeek) -> (valueYear : Year) -> {auto 0 _ : So (isValidWeekDate week target valueYear)} -> CalendarDate Persian Construct a Persian Saturday-based week date under static validity evidence.
Totality: total
Visibility: public exportrefineWeekDate : WeekNumber -> DayOfWeek -> Year -> Either PersianDateError (CalendarDate Persian) Validate a runtime Persian Saturday-based week date.
Totality: total
Visibility: public exportdata PersianArithmeticRule : Type Exact arithmetic rules available for the Solar Hijri calendar.
Totality: total
Visibility: public export
Constructors:
Simple : PersianArithmeticRule Birashk : PersianArithmeticRule
Hints:
ApplyPeriod (ArithmeticPersianDate rule) Calendar (ArithmeticPersian rule) CalendarNavigation (ArithmeticPersianDate rule) CalendarValue (ArithmeticPersianDate rule) Eq (ArithmeticPersianDate rule) HasCalendar (ArithmeticPersianDate rule) HasCalendarBridge (ArithmeticPersianDate rule) Ord (ArithmeticPersianDate rule) PeriodTarget (ArithmeticPersianDate rule) Show (ArithmeticPersianDate rule)
data ArithmeticPersian : PersianArithmeticRule -> Type A Persian calendar whose leap years are fixed by an arithmetic rule.
Totality: total
Visibility: public export
Constructor: MkArithmeticPersian : ArithmeticPersian rule
Hint: Calendar (ArithmeticPersian rule)
PersianSimple : Type The legacy 33-year Persian cycle used by the BCL before .NET 4.6.
Totality: total
Visibility: public exportPersianArithmetic : Type Ahmad Birashk's nested 2820-year arithmetic Persian cycle.
Totality: total
Visibility: public exportarithmeticRuleName : PersianArithmeticRule -> String- Totality: total
Visibility: export record ArithmeticPersianDate : PersianArithmeticRule -> Type- Totality: total
Visibility: export
Constructor: MkArithmeticPersianDate : (arithmeticDaysSinceEpoch : Integer) -> (0 _ : So ((arithmeticDaysSinceEpoch >= arithmeticRuleEpoch rule) && Delay (arithmeticDaysSinceEpoch <= arithmeticRuleLastDay rule))) -> ArithmeticPersianDate rule
Projections:
.arithmeticDaysSinceEpoch : ArithmeticPersianDate rule -> Integer 0 .validDays : ({rec:0} : ArithmeticPersianDate rule) -> So ((arithmeticDaysSinceEpoch {rec:0} >= arithmeticRuleEpoch rule) && Delay (arithmeticDaysSinceEpoch {rec:0} <= arithmeticRuleLastDay rule))
Hints:
ApplyPeriod (ArithmeticPersianDate rule) CalendarNavigation (ArithmeticPersianDate rule) CalendarValue (ArithmeticPersianDate rule) Eq (ArithmeticPersianDate rule) HasCalendar (ArithmeticPersianDate rule) HasCalendarBridge (ArithmeticPersianDate rule) Ord (ArithmeticPersianDate rule) PeriodTarget (ArithmeticPersianDate rule) Show (ArithmeticPersianDate rule)
minimumArithmeticYear : Integer- Totality: total
Visibility: public export maximumArithmeticYear : Integer- Totality: total
Visibility: public export isArithmeticLeapYear : Year -> Bool- Totality: total
Visibility: public export arithmeticNewYearDay : Year -> Integer- Totality: total
Visibility: public export arithmeticLastDay : Integer The final supported day under the selected arithmetic Persian rule.
Totality: total
Visibility: public exportmaxArithmeticDaysInMonth : PersianMonth -> Year -> DayOfMonth- Totality: total
Visibility: public export isValidArithmeticDate : DayOfMonth -> PersianMonth -> Year -> Bool- Totality: total
Visibility: public export arithmeticDaysFromCivil : Year -> PersianMonth -> DayOfMonth -> Integer- Totality: total
Visibility: public export arithmeticRuleCalendarDate : (valueDay : DayOfMonth) -> (valueMonth : PersianMonth) -> (valueYear : Year) -> {auto 0 _ : So (isValidArithmeticDate valueDay valueMonth valueYear)} -> CalendarDate (ArithmeticPersian rule) Construct a statically validated Persian date under an arithmetic rule.
Totality: total
Visibility: public exportsimpleCalendarDate : (valueDay : DayOfMonth) -> (valueMonth : PersianMonth) -> (valueYear : Year) -> {auto 0 _ : So (isValidArithmeticDate valueDay valueMonth valueYear)} -> CalendarDate PersianSimple Construct a date in the legacy 33-year Persian cycle.
Totality: total
Visibility: public exportarithmeticCalendarDate : (valueDay : DayOfMonth) -> (valueMonth : PersianMonth) -> (valueYear : Year) -> {auto 0 _ : So (isValidArithmeticDate valueDay valueMonth valueYear)} -> CalendarDate PersianArithmetic Construct a date in Birashk's 2820-year arithmetic Persian cycle.
Totality: total
Visibility: public exportrefineArithmeticRuleDate : DayOfMonth -> PersianMonth -> Year -> Either PersianDateError (CalendarDate (ArithmeticPersian rule)) Validate runtime components under a selected arithmetic Persian rule.
Totality: total
Visibility: public exportrefineSimpleDate : DayOfMonth -> PersianMonth -> Year -> Either PersianDateError (CalendarDate PersianSimple)- Totality: total
Visibility: public export refineArithmeticDate : DayOfMonth -> PersianMonth -> Year -> Either PersianDateError (CalendarDate PersianArithmetic)- Totality: total
Visibility: public export refineArithmeticDays : Integer -> Either PersianDateError (CalendarDate (ArithmeticPersian rule)) Validate a day count under a selected arithmetic Persian rule.
Totality: total
Visibility: public exportisValidArithmeticNthDay : DayNth -> DayOfWeek -> PersianMonth -> Year -> Bool- Totality: total
Visibility: public export arithmeticFromNthDay : (nth : DayNth) -> (target : DayOfWeek) -> (valueMonth : PersianMonth) -> (valueYear : Year) -> {auto 0 _ : So (isValidArithmeticNthDay nth target valueMonth valueYear)} -> CalendarDate (ArithmeticPersian rule) Construct an nth weekday under a selected arithmetic Persian rule.
Totality: total
Visibility: public exportrefineArithmeticNthDay : DayNth -> DayOfWeek -> PersianMonth -> Year -> Either PersianDateError (CalendarDate (ArithmeticPersian rule)) Validate an nth-weekday request under an arithmetic Persian rule.
Totality: total
Visibility: public exportisValidArithmeticWeekDate : WeekNumber -> DayOfWeek -> Year -> Bool- Totality: total
Visibility: public export arithmeticFromWeekDate : (week : WeekNumber) -> (target : DayOfWeek) -> (valueYear : Year) -> {auto 0 _ : So (isValidArithmeticWeekDate week target valueYear)} -> CalendarDate (ArithmeticPersian rule) Construct a Saturday-based week date under an arithmetic Persian rule.
Totality: total
Visibility: public exportrefineArithmeticWeekDate : WeekNumber -> DayOfWeek -> Year -> Either PersianDateError (CalendarDate (ArithmeticPersian rule)) Validate a Saturday-based week date under an arithmetic Persian rule.
Totality: total
Visibility: public export