package incremental

  1. Overview
  2. Docs
Library for incremental computations

Install

Dune Dependency

Authors

Maintainers

Sources

incremental-v0.14.0.tar.gz
sha256=6054c0015e4d928ce28be6cdebb7eeb43951a46b77cc69323fb9bd036df68288
md5=01098e7e363cb403b52fcbe625d46641

doc/CHANGES.html

113.43.00

  • Adds a Let_syntax module to Incremental_intf.S. We've found things like this useful in a couple of different projects as a nice alternative to the mapN functions.

113.33.00

  • Made it possible to use Incremental without invalidation -- i.e. a change in a the left-hand side of bind does not invalidate nodes created on the right-hand side.

    This is configurable via the argument to Incremental.Make_with_config, which now takes:

    val bind_lhs_change_should_invalidate_rhs : bool

    So, one can now build an Incremental without invalidation using:

          Incremental.Make_with_config (struct
      include Incremental.Config.Default ()
      let bind_lhs_change_should_invalidate_rhs = false
    end) ()

    The implementation is simple: When a bind rhs changes, instead of invalidate_nodes_created_on_rhs, we rescope_nodes_created_on_rhs, which moves the nodes up to the bind's parent.

    Turned the unit tests into a functor parameterized on bind_lhs_change_should_invalidate_rhs, and run them with both true and false. Modified tests where necessary to skip tests of invalidity when bind_lhs_change_should_invalidate_rhs = false.

    Added a unit test of bind_lhs_change_should_invalidate_rhs = true that makes sure a node created on a bind rhs whose lhs subsequently changes continues to stabilize correctly.

  • Splitted incremental into a part that can run in javascript, incremental_kernel, and the other one.

113.24.00

  • Add README.org to Incremental.
  • Added some type annotations based on comments by @def-lkb about lack of principality.
  • Switched to ppx.
OCaml

Innovation. Community. Security.