package fix
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
On This Page
  
  
  Facilities for memoization and fixed points
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
  
    
      archive.tar.gz
    
    
        
    
  
  
  
    
  
  
    
  
        md5=d3d316080a2fc9a4f56c15040e141364
    
    
  sha512=850cf0d3c6db806ac1d0b9bf39ad82529aecd56af07b2b421f48af15afdeab493f7b73e5d9e7d492e56717a8aeeb61466d87ac8a51fac30e3f77028b5ecd57c4
    
    
  doc/CHANGES.html
CHANGES
2021/11/25
- The new module CompactQueueoffers a minimalist mutable FIFO queue. It is comparable with OCaml'sQueuemodule. 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.ForCustomMapsoffers 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 Indexingoffers 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.
2020/11/20
- New module DataFlow, which performs a forward data flow analysis over a directed graph. (Such a computation could previously be performed by using the generic solverFix.Make, but it was somewhat awkward to write, as it required access to predecessors. The new algorithm is easier to use and is more efficient.)
- In Memoize, new combinatorcurried, which can be used in combination withfixordefensive_fix. Thus, for instance,curried fixis a fixed point combinator that constructs a memoizing two-argument curried function.
2020/01/31
- In Gensym, new abstract typegenerator, with three functionsgenerator,fresh, andcurrent.
- In Memoize, new functionvisibly_memoize, which not only returns a memoized function, but also provides outside access to the memoization table.
- New signatures ONGOING_NUMBERINGandTWO_PHASE_NUMBERINGand new moduleNumbering, which provides facilities for numbering things.
- Breaking change: the module Fix.Numberis renamedFix.GraphNumbering.
2018/12/06
- New release, including new modules (Gensym,Memoize,Tabulate,Number,HashCons,Prop,Glue), new convenience functors (Fix.ForHashedType, etc.), and new demos. The least-fixed-point computation algorithm is unchanged.
2013/06/11
- Initial release of the package, containing just Fix.Make, the least-fixed-point computation algorithm.
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  On This Page