CalendarDate

CalendarDate :: # (opaque)

A validated day description retaining its calendar. Resolution is one civil day.

from_gregorian : GregorianDate -> CalendarDate

Preserve an already validated date and its calendar without revalidation.

from_fields : Calendar, Fields -> Try(CalendarDate, [OutOfRange, InvalidMonth, InvalidDay, ..])
in_calendar : CalendarDate, Calendar -> Try(CalendarDate, [OutOfRange, ..])
same_day : CalendarDate, CalendarDate -> Bool

Equal day extent on the shared civil axis, independent of description.

is_eq : CalendarDate, CalendarDate -> Bool

Description equality retains calendar identity; use same_day for extents.