package dates_calc

  1. Overview
  2. Docs
A date calculation library

Install

Dune Dependency

Authors

Maintainers

Sources

0.0.6.tar.gz
md5=fa44004f0c4db908080df566a14b7ebe
sha512=8dfab7bf0201f3822c42f79d3f7192aaa5a2d399061e6add49048d4fbfd2382388cd1d426b1f6f89a0e65b1a7a6c9c4d240cf70199898b1bd8744a9bab73f41a

Description

A date calculation library, with exact operators to add a given number of days to a date, and approximate operators to add months or years.

Published: 22 May 2024

README

A date calculation library

Aim

This library handles dates (YYYY-MM-DD) and periods (in days, months and years). It provides operators on dates and periods. The addition of dates and periods containing months or years is a tricky case that may require roundings. We have taken special care to define those rounding operators and expose different rounding modes for users.

This library is a work in progress. You can find the library's description in lib/dates.mli. There is also a Python implementation (which corresponds to a port of the OCaml implementation).

The full semantics of the library has been formalized and is available in the related ESOP 2024 paper Formalizing Date Arithmetic and Statically Detecting Ambiguities for the Law.

Installation

Just run opam install dates_calc or opam install . if you've cloned the git repository.

Building the documentation

The documentation can be built with dune build @doc, and is then available in doc/odoc.html.

Dependencies (2)

  1. ocaml >= "4.11.0"
  2. dune >= "2.7"

Dev Dependencies (3)

  1. odoc with-doc
  2. qcheck with-test & >= "0.15"
  3. alcotest with-test & >= "1.5.0"

Used by (1)

  1. catala >= "0.8.0"

Conflicts

None

OCaml

Innovation. Community. Security.