Types

type money
type integer
type decimal
type date
type duration

Exceptions

exception EmptyError
exception AssertionFailed
exception ConflictError
exception UncomparableDurations
exception ImpossibleDate
exception NoValueProvided

Constructors and conversions

Money

val money_of_cents_string : string -> money
val money_of_units_int : int -> money
val money_of_cents_integer : integer -> money
val money_to_float : money -> float
val money_to_string : money -> string
val money_to_cents : money -> integer

Decimals

val decimal_of_string : string -> decimal
val decimal_to_string : max_prec_digits:int -> decimal -> string
val decimal_of_integer : integer -> decimal
val decimal_of_float : float -> decimal
val decimal_to_float : decimal -> float

Integers

val integer_of_string : string -> integer
val integer_to_string : integer -> string
val integer_to_int : integer -> int
val integer_of_int : int -> integer
val integer_log2 : integer -> int
val integer_exponentiation : integer -> int -> integer

Dates

val day_of_month_of_date : date -> integer
val month_number_of_date : date -> integer
val year_of_date : date -> integer
val date_to_string : date -> string
val date_of_numbers : int -> int -> int -> date

Usage: date_of_numbers year month day

  • raises ImpossibleDate

Durations

val duration_of_numbers : int -> int -> int -> duration
val duration_to_days_months_years : duration -> int * int * int
val duration_to_string : duration -> string

Defaults

val handle_default : (unit -> 'a) array -> (unit -> bool) -> (unit -> 'a) -> 'a
  • raises EmptyError
  • raises ConflictError
val no_input : unit -> 'a

Operators

Money

val (*$) : money -> decimal -> money
val (/$) : money -> money -> decimal
  • raises Division_by_zero
val (+$) : money -> money -> money
val (-$) : money -> money -> money
val (~-$) : money -> money
val (=$) : money -> money -> bool
val (<=$) : money -> money -> bool
val (>=$) : money -> money -> bool
val (<$) : money -> money -> bool
val (>$) : money -> money -> bool

Integers

val (+!) : integer -> integer -> integer
val (-!) : integer -> integer -> integer
val (~-!) : integer -> integer
val (*!) : integer -> integer -> integer
val (/!) : integer -> integer -> integer
  • raises Division_by_zero
val (=!) : integer -> integer -> bool
val (>=!) : integer -> integer -> bool
val (<=!) : integer -> integer -> bool
val (>!) : integer -> integer -> bool
val (<!) : integer -> integer -> bool

Decimals

val (+&) : decimal -> decimal -> decimal
val (-&) : decimal -> decimal -> decimal
val (~-&) : decimal -> decimal
val (*&) : decimal -> decimal -> decimal
val (/&) : decimal -> decimal -> decimal
  • raises Division_by_zero
val (=&) : decimal -> decimal -> bool
val (>=&) : decimal -> decimal -> bool
val (<=&) : decimal -> decimal -> bool
val (>&) : decimal -> decimal -> bool
val (<&) : decimal -> decimal -> bool

Dates

val (+@) : date -> duration -> date
val (-@) : date -> date -> duration
val (=@) : date -> date -> bool
val (>=@) : date -> date -> bool
val (<=@) : date -> date -> bool
val (>@) : date -> date -> bool
val (<@) : date -> date -> bool

Durations

val (+^) : duration -> duration -> duration
val (-^) : duration -> duration -> duration
val (~-^) : duration -> duration
val (=^) : duration -> duration -> bool
val (>=^) : duration -> duration -> bool
  • raises UncomparableDurations
val (<=^) : duration -> duration -> bool
  • raises UncomparableDurations
val (>^) : duration -> duration -> bool
  • raises UncomparableDurations
val (<^) : duration -> duration -> bool
  • raises UncomparableDurations

Arrays

val array_filter : ('a -> bool) -> 'a array -> 'a array
val array_length : 'a array -> integer