package incremental

  1. Overview
  2. Docs
Library for incremental computations

Install

Dune Dependency

Authors

Maintainers

Sources

v0.16.1.tar.gz
md5=c1c01831c72847296ce2569d2cc4372f
sha512=0116a82509c9037529092c5a31bdc8f0c64ed3d4c7a58a67f5250685196c9830e352100c83185bba8b2db949ffc9e3f39a0bbfe14c07e0da63e0302ca24aaa7a

Description

Part of Jane Street's Core library The Core suite of libraries is an industrial strength alternative to OCaml's standard library that was developed by Jane Street, the largest industrial user of OCaml.

Published: 02 Feb 2024

README

README.org

Incremental is a library that gives you a way of building complex
computations that can update efficiently in response to their inputs
changing, inspired by the work of [[http://www.umut-acar.org/self-adjusting-computation][Umut Acar et. al.]] on self-adjusting
computations. Incremental can be useful in a number of applications,
including:

- Building large calculations (of the kind you might build into a
  spreadsheet) that can react efficiently to changing data.
- Constructing views in GUI applications that can incorporate new data
  efficiently.
- Computing derived data while guaranteeing that the derived data
  stays in sync with the source data, for instance filtering or
  inversing a mapping.

You can find detailed documentation of the library and how to use
it in [[https://github.com/janestreet/incremental/blob/master/src/incremental_intf.ml][incremental/src/incremental_intf.ml]].  You can also find an
informal introduction to the library in this [[https://blog.janestreet.com/introducing-incremental][blog post]].

Dependencies (7)

  1. dune >= "2.0.0"
  2. ppx_optcomp >= "v0.16" & < "v0.17"
  3. ppx_jane >= "v0.16" & < "v0.17"
  4. janestreet_lru_cache >= "v0.16.1" & < "v0.17"
  5. core_kernel >= "v0.16" & < "v0.17"
  6. core >= "v0.16" & < "v0.17"
  7. ocaml >= "4.14.0"

Dev Dependencies

None

Used by (6)

  1. incr_dom >= "v0.16.0"
  2. incr_dom_interactive >= "v0.16.0"
  3. incr_dom_sexp_form >= "v0.16.0"
  4. incr_map >= "v0.16.0"
  5. incr_select >= "v0.16.0"
  6. par_incr

Conflicts

None