Idris2Doc : IotaTime.Calendar.Islamic

IotaTime.Calendar.Islamic

(source)

Definitions

dataIslamicLeapPattern : Type
  The supported tabular Islamic 30-year leap-cycle assignments.

Totality: total
Visibility: public export
Constructors:
Base15 : IslamicLeapPattern
Base16 : IslamicLeapPattern
Indian : IslamicLeapPattern
HabashAlHasib : IslamicLeapPattern

Hints:
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>ApplyPeriod (IslamicDateepochpattern)
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>Calendar (IslamicByEpochepochpattern)
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>CalendarNavigation (IslamicDateepochpattern)
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>CalendarValue (IslamicDateepochpattern)
Eq (IslamicDateepochpattern)
HasCalendar (IslamicDateepochpattern)
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>HasCalendarBridge (IslamicDateepochpattern)
Ord (IslamicDateepochpattern)
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>PeriodTarget (IslamicDateepochpattern)
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>Show (IslamicDateepochpattern)
interfaceKnownIslamicLeapPattern : IslamicLeapPattern->Type
  Evidence and leap-year positions for one Islamic leap pattern.

Parameters: pattern
Methods:
leapCycleYears : ListInteger

Implementations:
KnownIslamicLeapPatternBase15
KnownIslamicLeapPatternBase16
KnownIslamicLeapPatternIndian
KnownIslamicLeapPatternHabashAlHasib
leapCycleYears : KnownIslamicLeapPatternpattern=>ListInteger
Totality: total
Visibility: public export
dataIslamicEpoch : Type
  The two conventional epochs used by tabular Islamic calendars.

Totality: total
Visibility: public export
Constructors:
Astronomical : IslamicEpoch
Civil : IslamicEpoch

Hints:
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>ApplyPeriod (IslamicDateepochpattern)
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>Calendar (IslamicByEpochepochpattern)
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>CalendarNavigation (IslamicDateepochpattern)
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>CalendarValue (IslamicDateepochpattern)
Eq (IslamicDateepochpattern)
HasCalendar (IslamicDateepochpattern)
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>HasCalendarBridge (IslamicDateepochpattern)
Ord (IslamicDateepochpattern)
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>PeriodTarget (IslamicDateepochpattern)
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>Show (IslamicDateepochpattern)
interfaceKnownIslamicEpoch : IslamicEpoch->Type
  Evidence for the first timeline day represented by an Islamic epoch.

Parameters: epoch
Methods:
epochDay : Integer
dateConstructorName : String

Implementations:
KnownIslamicEpochAstronomical
KnownIslamicEpochCivil
epochDay : KnownIslamicEpochepoch=>Integer
Totality: total
Visibility: public export
dateConstructorName : KnownIslamicEpochepoch=>String
Totality: total
Visibility: public export
dataIslamicByEpoch : IslamicEpoch->IslamicLeapPattern->Type
  A tabular Islamic calendar indexed by its epoch and leap-cycle pattern.

Totality: total
Visibility: public export
Constructor: 
IslamicCalendar : IslamicByEpochepochpattern

Hint: 
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>Calendar (IslamicByEpochepochpattern)
Islamic : IslamicLeapPattern->Type
  The astronomical-epoch calendar retained by the original iotaTime API.

Totality: total
Visibility: public export
CivilIslamic : IslamicLeapPattern->Type
  A civil-epoch tabular Islamic calendar.

Totality: total
Visibility: public export
IslamicBase15 : Type
Totality: total
Visibility: public export
IslamicBase16 : Type
Totality: total
Visibility: public export
IslamicIndian : Type
Totality: total
Visibility: public export
IslamicHabashAlHasib : Type
Totality: total
Visibility: public export
IslamicBcl : Type
Totality: total
Visibility: public export
CivilIslamicBase15 : Type
Totality: total
Visibility: public export
CivilIslamicBase16 : Type
Totality: total
Visibility: public export
CivilIslamicIndian : Type
Totality: total
Visibility: public export
CivilIslamicHabashAlHasib : Type
Totality: total
Visibility: public export
CivilIslamicBcl : Type
Totality: total
Visibility: public export
dataIslamicMonth : Type
Totality: total
Visibility: public export
Constructors:
Muharram : IslamicMonth
Safar : IslamicMonth
RabiAlAwwal : IslamicMonth
RabiAlThani : IslamicMonth
JumadaAlAwwal : IslamicMonth
JumadaAlThani : IslamicMonth
Rajab : IslamicMonth
Shaban : IslamicMonth
Ramadan : IslamicMonth
Shawwal : IslamicMonth
DhulQadah : IslamicMonth
DhulHijjah : IslamicMonth

Hints:
EqIslamicMonth
OrdIslamicMonth
ShowIslamicMonth
monthNumber : IslamicMonth->Integer
Totality: total
Visibility: public export
recordIslamicDate : IslamicEpoch->IslamicLeapPattern->Type
Totality: total
Visibility: export
Constructor: 
MkIslamicDate : (daysSinceEpoch : Integer) -> (0_ : So (daysSinceEpoch>=islamicEpochDayepoch)) ->IslamicDateepochpattern

Projections:
.daysSinceEpoch : IslamicDateepochpattern->Integer
0.validDays : ({rec:0} : IslamicDateepochpattern) ->So (daysSinceEpoch{rec:0}>=islamicEpochDayepoch)

Hints:
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>ApplyPeriod (IslamicDateepochpattern)
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>CalendarNavigation (IslamicDateepochpattern)
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>CalendarValue (IslamicDateepochpattern)
Eq (IslamicDateepochpattern)
HasCalendar (IslamicDateepochpattern)
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>HasCalendarBridge (IslamicDateepochpattern)
Ord (IslamicDateepochpattern)
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>PeriodTarget (IslamicDateepochpattern)
KnownIslamicEpochepoch=>KnownIslamicLeapPatternpattern=>Show (IslamicDateepochpattern)
isLeapYear : KnownIslamicLeapPatternpattern=>Year->Bool
Totality: total
Visibility: public export
maxDaysInMonth : KnownIslamicLeapPatternpattern=>IslamicMonth->Year->DayOfMonth
Totality: total
Visibility: public export
isValidDate : KnownIslamicLeapPatternpattern=>DayOfMonth->IslamicMonth->Year->Bool
Totality: total
Visibility: public export
calendarDate' : {autoknown : KnownIslamicLeapPatternpattern} -> (valueDay : DayOfMonth) -> (valueMonth : IslamicMonth) -> (valueYear : Year) -> {auto0_ : So (isValidDatevalueDayvalueMonthvalueYear)} ->CalendarDate (Islamicpattern)
  Construct a statically validated Islamic date for the selected leap pattern.

Totality: total
Visibility: public export
calendarDate : (valueDay : DayOfMonth) -> (valueMonth : IslamicMonth) -> (valueYear : Year) -> {auto0_ : So (isValidDatevalueDayvalueMonthvalueYear)} ->CalendarDateIslamicBcl
  Construct a statically validated Base16/BCL Islamic date.

Totality: total
Visibility: public export
dataIslamicDateError : Type
  Failures produced while refining untrusted Islamic date data.

Totality: total
Visibility: public export
Constructors:
InvalidIslamicDate : DayOfMonth->IslamicMonth->Year->IslamicDateError
InvalidIslamicDayCount : Integer->IslamicDateError
InvalidIslamicNthDay : DayNth->DayOfWeek->IslamicMonth->Year->IslamicDateError
InvalidIslamicWeekDate : WeekNumber->DayOfWeek->Year->IslamicDateError
refineDate' : {autoknown : KnownIslamicLeapPatternpattern} ->DayOfMonth->IslamicMonth->Year->EitherIslamicDateError (CalendarDate (Islamicpattern))
  Validate runtime date components for the selected Islamic leap pattern.

Totality: total
Visibility: public export
refineDate : DayOfMonth->IslamicMonth->Year->EitherIslamicDateError (CalendarDateIslamicBcl)
  Validate runtime date components using the Base16/BCL leap pattern.

Totality: total
Visibility: public export
fromDays' : {autoknown : KnownIslamicLeapPatternpattern} -> (days : Integer) -> {auto0_ : So (isValidDaysdays)} ->CalendarDate (Islamicpattern)
  Construct a date in the selected Islamic pattern from a statically valid
calendar-relative day count.

Totality: total
Visibility: public export
fromDays : (days : Integer) -> {auto0_ : So (isValidDaysdays)} ->CalendarDateIslamicBcl
Totality: total
Visibility: public export
refineDays' : {autoknown : KnownIslamicLeapPatternpattern} ->Integer->EitherIslamicDateError (CalendarDate (Islamicpattern))
  Validate a runtime day count for the selected Islamic leap pattern.

Totality: total
Visibility: public export
refineDays : Integer->EitherIslamicDateError (CalendarDateIslamicBcl)
Totality: total
Visibility: public export
civilCalendarDate' : {autoknown : KnownIslamicLeapPatternpattern} -> (valueDay : DayOfMonth) -> (valueMonth : IslamicMonth) -> (valueYear : Year) -> {auto0_ : So (isValidDatevalueDayvalueMonthvalueYear)} ->CalendarDate (CivilIslamicpattern)
  Construct a statically validated civil-epoch Islamic date for the selected
leap pattern.

Totality: total
Visibility: public export
civilCalendarDate : (valueDay : DayOfMonth) -> (valueMonth : IslamicMonth) -> (valueYear : Year) -> {auto0_ : So (isValidDatevalueDayvalueMonthvalueYear)} ->CalendarDateCivilIslamicBcl
  Construct a statically validated Base16 civil-epoch Islamic date.

Totality: total
Visibility: public export
refineCivilDate' : {autoknown : KnownIslamicLeapPatternpattern} ->DayOfMonth->IslamicMonth->Year->EitherIslamicDateError (CalendarDate (CivilIslamicpattern))
  Validate runtime date components for a selected civil-epoch leap pattern.

Totality: total
Visibility: public export
refineCivilDate : DayOfMonth->IslamicMonth->Year->EitherIslamicDateError (CalendarDateCivilIslamicBcl)
  Validate runtime civil-epoch date components using the Base16 pattern.

Totality: total
Visibility: public export
civilFromDays' : {autoknown : KnownIslamicLeapPatternpattern} -> (days : Integer) -> {auto0_ : So (isValidDaysdays)} ->CalendarDate (CivilIslamicpattern)
  Construct a civil-epoch date from a statically valid timeline day count.

Totality: total
Visibility: public export
civilFromDays : (days : Integer) -> {auto0_ : So (isValidDaysdays)} ->CalendarDateCivilIslamicBcl
Totality: total
Visibility: public export
refineCivilDays' : {autoknown : KnownIslamicLeapPatternpattern} ->Integer->EitherIslamicDateError (CalendarDate (CivilIslamicpattern))
  Validate a runtime timeline day count for a selected civil leap pattern.

Totality: total
Visibility: public export
refineCivilDays : Integer->EitherIslamicDateError (CalendarDateCivilIslamicBcl)
Totality: total
Visibility: public export
nthDayOfMonth : KnownIslamicLeapPatternpattern=>DayNth->DayOfWeek->IslamicMonth->Year->DayOfMonth
Totality: total
Visibility: public export
civilNthDayOfMonth : KnownIslamicLeapPatternpattern=>DayNth->DayOfWeek->IslamicMonth->Year->DayOfMonth
Totality: total
Visibility: public export
isValidNthDay : KnownIslamicLeapPatternpattern=>DayNth->DayOfWeek->IslamicMonth->Year->Bool
Totality: total
Visibility: public export
isValidCivilNthDay : KnownIslamicLeapPatternpattern=>DayNth->DayOfWeek->IslamicMonth->Year->Bool
Totality: total
Visibility: public export
fromNthDay' : {autoknown : KnownIslamicLeapPatternpattern} -> (nth : DayNth) -> (target : DayOfWeek) -> (valueMonth : IslamicMonth) -> (valueYear : Year) -> {auto0_ : So (isValidNthDaynthtargetvalueMonthvalueYear)} ->CalendarDate (Islamicpattern)
  Construct the nth requested weekday in an Islamic month for the selected
leap pattern.

Totality: total
Visibility: public export
fromNthDay : (nth : DayNth) -> (target : DayOfWeek) -> (valueMonth : IslamicMonth) -> (valueYear : Year) -> {auto0_ : So (isValidNthDaynthtargetvalueMonthvalueYear)} ->CalendarDateIslamicBcl
Totality: total
Visibility: public export
refineNthDay' : {autoknown : KnownIslamicLeapPatternpattern} ->DayNth->DayOfWeek->IslamicMonth->Year->EitherIslamicDateError (CalendarDate (Islamicpattern))
  Validate an nth-weekday request for the selected Islamic leap pattern.

Totality: total
Visibility: public export
refineNthDay : DayNth->DayOfWeek->IslamicMonth->Year->EitherIslamicDateError (CalendarDateIslamicBcl)
Totality: total
Visibility: public export
civilFromNthDay' : {autoknown : KnownIslamicLeapPatternpattern} -> (nth : DayNth) -> (target : DayOfWeek) -> (valueMonth : IslamicMonth) -> (valueYear : Year) -> {auto0_ : So (isValidCivilNthDaynthtargetvalueMonthvalueYear)} ->CalendarDate (CivilIslamicpattern)
  Construct the nth requested weekday in a civil-epoch Islamic month.

Totality: total
Visibility: public export
civilFromNthDay : (nth : DayNth) -> (target : DayOfWeek) -> (valueMonth : IslamicMonth) -> (valueYear : Year) -> {auto0_ : So (isValidCivilNthDaynthtargetvalueMonthvalueYear)} ->CalendarDateCivilIslamicBcl
Totality: total
Visibility: public export
refineCivilNthDay' : {autoknown : KnownIslamicLeapPatternpattern} ->DayNth->DayOfWeek->IslamicMonth->Year->EitherIslamicDateError (CalendarDate (CivilIslamicpattern))
Totality: total
Visibility: public export
refineCivilNthDay : DayNth->DayOfWeek->IslamicMonth->Year->EitherIslamicDateError (CalendarDateCivilIslamicBcl)
Totality: total
Visibility: public export
weekDateDays : KnownIslamicLeapPatternpattern=>WeekNumber->DayOfWeek->Year->Integer
Totality: total
Visibility: public export
civilWeekDateDays : KnownIslamicLeapPatternpattern=>WeekNumber->DayOfWeek->Year->Integer
Totality: total
Visibility: public export
isValidWeekDate : KnownIslamicLeapPatternpattern=>WeekNumber->DayOfWeek->Year->Bool
Totality: total
Visibility: public export
isValidCivilWeekDate : KnownIslamicLeapPatternpattern=>WeekNumber->DayOfWeek->Year->Bool
Totality: total
Visibility: public export
fromWeekDate' : {autoknown : KnownIslamicLeapPatternpattern} -> (week : WeekNumber) -> (target : DayOfWeek) -> (valueYear : Year) -> {auto0_ : So (isValidWeekDateweektargetvalueYear)} ->CalendarDate (Islamicpattern)
  Construct a Saturday-based Islamic week date for the selected leap pattern.

Totality: total
Visibility: public export
fromWeekDate : (week : WeekNumber) -> (target : DayOfWeek) -> (valueYear : Year) -> {auto0_ : So (isValidWeekDateweektargetvalueYear)} ->CalendarDateIslamicBcl
Totality: total
Visibility: public export
refineWeekDate' : {autoknown : KnownIslamicLeapPatternpattern} ->WeekNumber->DayOfWeek->Year->EitherIslamicDateError (CalendarDate (Islamicpattern))
  Validate a runtime Islamic week date for the selected leap pattern.

Totality: total
Visibility: public export
refineWeekDate : WeekNumber->DayOfWeek->Year->EitherIslamicDateError (CalendarDateIslamicBcl)
Totality: total
Visibility: public export
civilFromWeekDate' : {autoknown : KnownIslamicLeapPatternpattern} -> (week : WeekNumber) -> (target : DayOfWeek) -> (valueYear : Year) -> {auto0_ : So (isValidCivilWeekDateweektargetvalueYear)} ->CalendarDate (CivilIslamicpattern)
  Construct a Saturday-based civil-epoch Islamic week date.

Totality: total
Visibility: public export
civilFromWeekDate : (week : WeekNumber) -> (target : DayOfWeek) -> (valueYear : Year) -> {auto0_ : So (isValidCivilWeekDateweektargetvalueYear)} ->CalendarDateCivilIslamicBcl
Totality: total
Visibility: public export
refineCivilWeekDate' : {autoknown : KnownIslamicLeapPatternpattern} ->WeekNumber->DayOfWeek->Year->EitherIslamicDateError (CalendarDate (CivilIslamicpattern))
Totality: total
Visibility: public export
refineCivilWeekDate : WeekNumber->DayOfWeek->Year->EitherIslamicDateError (CalendarDateCivilIslamicBcl)
Totality: total
Visibility: public export