Created by Luca Saiu on 2010-04-06 and last modified on 2020-05-23
Get this branch:
bzr branch lp:ocamlbricks
Members of Marionnet drivers can upload to this branch. Log in for directions.

Branch merges

Related bugs

Related blueprints

Branch information

Marionnet drivers

Recent revisions

529. By Jean-Vincent Loddo on 2020-05-23

Module Lock_club completely refactored. The reader-writer system is now better structured and specifically composed with respect to an ordinary protocol composition. An example with three priorities (reader-writer-maintainer) is given in a long comment at the end of the source lock_club.mli.

528. By Jean-Vincent Loddo on 2020-05-23

In module Extreme_sharing, added function `weakly_memoize_with_prj'. This variant of `weakly_memoize' prevent the collection of arguments that may occur memoizing functions with several arguments. Indeed, functions with several arguments must be uncurried before to be memoized. Doing that, it is possible that their arguments are built only to call the function, then unused hence collected.

527. By Jean-Vincent Loddo on 2020-05-23

In module Sexpr, added a method to extract the value encapsulated by an S-expressions. Added also a polymorphic comparaison based on this extraction.

526. By Jean-Vincent Loddo on 2020-05-23

In ListExtra, added a sub-module Homegeneous_cartesian_products to properly store all related methods.

525. By Jean-Vincent Loddo on 2020-05-23

In module ArrayExtra, added Cartesian products for arrays and related folding procedures (which do their job without actually generating the product).

524. By Jean-Vincent Loddo on 2020-05-23

Added module Sowide, abbreviation of (So)rted arrays (wi)thout (d)uplicat(e)s. Used as of polymorphic sets, this structure offer an efficient procedure for splitting the array into two parts corresponding to the lower-bounds and the upper-bounds of a pivot value.

523. By Jean-Vincent Loddo on 2020-05-19

In module Res, "status" informations integrated at low level implementation (sub-module Exposed)

522. By Jean-Vincent Loddo on 2020-05-18

In module Res, added a "status" component to the result of some update procedures. Actually, after an attempt to write a structure, it may be interesting to detect if the resistance has *really* changed its state. This check may be done in the sense of physical ("shallow") equality and/or in the sense of the structural ("deep") equality.

521. By Jean-Vincent Loddo on 2020-05-17

Added a "commit" automatism in resistances. Actually any compound resistance may be in an inconsistent state due to the fact that some of its components have changed state autonomously. So, before any reading, it could be necessary to restart the revision process.

520. By Jean-Vincent Loddo on 2020-05-12

Added the module Res, of "resistences", i.e. references able to oppose a resistence to some updates. The difference with Cortex.t structures is that the latter are implemented to work directly in a concurrent context of threads. Resistences implement instead a kind of low-level sequential structures able to be combined (products, projections) and able to become a basis to build lock-able structures working in a concurrent context. Note also that resistences, which may be considered with some restrictions as a "zipped" domain, are an interesting case of usage of S-expressions defined in the module Sexpr.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.