------------------------------------------------------------
revno: 554
committer: Jean-Vincent Loddo <lo...@lipn.univ-paris13.fr>
branch nick: WORKING
timestamp: Mon 2020-07-06 22:24:22 +0000
message:
  Sixth satisfactory version (until the next) of algebraic channels, with 
support for ephemeral (not persistent) structures. Stabilizations and 
notifications are performed only for writers and maintainers. During the access 
protocol to a channel, if the channel contains a persistent structure (by 
default) and the internal resistance has not really changed we do nothing (no 
stabilization, neither notifications to super-structures). The same 
(micro-)optimization cannot be applied to ephemeral (not persistent) structure, 
because for this kind of structures we cannot easily detect changes provoked by 
the `update' function (the 3th and 4th arguments of the body are the same 
object). Finally the more accurate tool to access a channel has the following 
signature:
  val access :
    ?level:int -> ?ephemeral:unit -> ?enter:('a -> bool) -> ?notify:int list -> 
?update:('a -> 'a) -> ?leave:('a -> bool) ->
    'a t -> ('a FTCC.t -> 'a details -> 'a -> 'a -> 'b) -> (exn, 'b) Either.t
modified:
  CORTEX/channel.ml
  CORTEX/channel.mli
  CORTEX/hublet.ml
  CORTEX/hublet.mli
  CORTEX/lazynel.ml
  CORTEX/lazynel.mli
  CORTEX/milner.ml
  CORTEX/milner.mli
  CORTEX/res.ml
  STRUCTURES/either.ml
  STRUCTURES/either.mli
  tests/test_channel.ml


--
lp:ocamlbricks
https://code.launchpad.net/~marionnet-drivers/ocamlbricks/trunk

Your team marionnet-dev is subscribed to branch lp:ocamlbricks.
To unsubscribe from this branch go to 
https://code.launchpad.net/~marionnet-drivers/ocamlbricks/trunk/+edit-subscription

_______________________________________________
Mailing list: https://launchpad.net/~marionnet-dev
Post to     : marionnet-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~marionnet-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to