Fix: Memoization and Fixed Points Made Easy

fix is an OCaml library that helps with various algorithmic constructions that involve memoization, recursion, and numbering.

Installation and Usage

Type opam install fix.

In your dune file, add (libraries fix) to the description of your library or executable.

Within your code, you may wish to declare open Fix. This allows you to access the submodules without the leading "Fix." qualifier.

Data Flow Analysis

The following submodules help solve systems of recursive monotone equations. In other words, they help implement data flow analyses.

The following submodules help construct the arguments required by the functors in Fix.Fix and Fix.DataFlow.


The following submodules help generate unique numbers and assign unique numbers to objects.

Memoization and Tabulation

The following submodules help construct memoized or tabulated functions, both of which have the property that repeated computation is avoided.


The following submodules offer minimization algorithms.

Data Structures

The following submodules offer data structures that can be of general interest.