Hello,
I am pleased to announce a new release of Fix, with several new modules
contribued by Frédéric Bour (thanks!).
In short, Fix is a toolkit that helps perform memoization and fixed point
computations (including data flow analyses). More generally, it offers a
number of basic algorithmic building blocks that can be useful in many
circumstances.
opam update
opam install fix.20211125
Documentation can be found here:
README.md · master · POTTIER Francois / fix · GitLab
Fix (fix.Fix)
Enjoy,
–
François Pottier
francois.pottier@inria.fr
http://cambium.inria.fr/~fpottier/
2021/11/25
-
The new module
CompactQueue
offers a minimalist mutable FIFO queue. It is
comparable with OCaml’sQueue
module. In comparison withQueue
, it uses
a more compact internal representation: elements are stored contiguously in
a circular array. This has a positive impact on performance: both time and
memory consumption are reduced. This data structure is optimized for maximum
throughput. (Contributed by Frédéric Bour, reviewed by François Pottier.) -
The new functor
DataFlow.ForCustomMaps
offers a forward data flow analysis
that is tuned for greater performance. (Contributed by Frédéric Bour,
reviewed by François Pottier.) -
The new module
Indexing
offers a safe API for manipulating indices into
fixed-size arrays. This API involves some dynamic checks as well as static
type checks, thereby (hopefully) greatly reducing the risk of confusion in
code that uses many arrays and many indices into these arrays. (Contributed
by Frédéric Bour, reviewed by François Pottier.) -
In
DataFlow
, allow the functionforeach_root
(which is part of the signatureDATA_FLOW_GRAPH
)
to callcontribute x _
several times at a single rootx
.