Module type Period.S

module type S = sig .. end

Common interface for all periods.


type +[< Period.date_field ] period 
type t = Period.date_field period 

Type of a period.

Period is an additive monoid

val empty : [< Period.date_field ] period

The empty period.

val add : ([< Period.date_field ] as 'a) period ->
'a period -> 'a period

Addition of periods.

val sub : ([< Period.date_field ] as 'a) period ->
'a period -> 'a period

Substraction of periods.

val opp : ([< Period.date_field ] as 'a) period -> 'a period

Opposite of a period.

Periods are comparable

val equal : [< Period.date_field ] period ->
[< Period.date_field ] period -> bool

Equality function between two periods.

val compare : [< Period.date_field ] period ->
[< Period.date_field ] period -> int

Comparison function between two periods.

val hash : [< Period.date_field ] period -> int

Hash function for periods.