=pod =encoding utf8 =head1 NAME Muldis::D::Ext::Temporal - Muldis D extension for temporal data types and operators =head1 VERSION This document is Muldis::D::Ext::Temporal version 0.148.0. =head1 PREFACE This document is part of the Muldis D language specification, whose root document is L; you should read that root document before you read this one, which provides subservient details. =head1 DESCRIPTION Muldis D has a mandatory core set of system-defined (eternally available) entities, which is referred to as the I or the I; they are the minimal entities that all Muldis D implementations need to provide; they are mutually self-describing and are either used to bootstrap the language or they constitute a reasonable minimum level of functionality for a practically useable industrial-strength (and fully I-conforming) programming language; any entities outside the core, called I, are non-mandatory and are defined in terms of the core or each other, but the reverse isn't true. This current C document describes the system-defined I, which consists of temporal data types and operators. To be specific, the I only describes the most generic temporal-concerning mixin types, plus the most generic virtual routines to use with them; it does I define any types that compose these mixins, or routines that implement those virtuals. It is expected, considering the complexity of temporals, that in the general case any temporal types and routines that would actually be used would be either user-defined, or implementation-defined, or both, or some other standard Muldis D extensions would provide them; the latter don't exist yet. See also the separately-distributed L document, which provides complete examples of temporal types that could compose this extension's mixins, and of routines that could implement its virtual routines. This current document does not describe the polymorphic operators that all types, or some types including core types, have defined over them; said operators are defined once for all types in L. =head1 TYPE SUMMARY Following are all the data types described in this document, which are all mixin types, arranged in a type graph according to their proper sub|supertype relationships; currently there are no system-defined types that compose them: sys.std.Core.Type.Universal sys.std.Temporal.Type.Instant sys.std.Temporal.Type.Duration =head1 TEMPORAL MIXIN DATA TYPES =head2 sys.std.Temporal.Type.Instant The C type is a mixin (union) type that is intended to be explicitly composed by every other type where each of the values of that type is considered to be an I, which is a distinct point on some timeline. Types that compose C can vary greatly with respect to either what timeline/calendar provides the context for interpreting them, or to what their granularity is. Common examples of an I are a I or a I or a I