package miou

  1. Overview
  2. Docs
Composable concurrency primitives for OCaml

Install

dune-project
 Dependency

Authors

Maintainers

Sources

miou-0.5.0.tbz
sha256=50aa6aa6767d3fe1875e35c69e4b1d92346a5f3a0349ac065f2efce6378c89c3
sha512=58736c04b4c5f11165fc04b7b1ffe7183852e994a3617cebc7ecaa6e88244b583712c3d04e5f82bc52241317b71c8c3262d188a6c8f398a3f7813c75a8fc52dd

doc/src/miou/miou_gen.ml.html

Source file miou_gen.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
module Make () = struct
  type t = int

  let null = 0
  let pp = Format.pp_print_int
  let compare a b = a - b
  let equal = Int.equal

  external of_int : int -> t = "%identity"
  external to_int : t -> int = "%identity"

  let gen, reset =
    let value = Atomic.make (succ null) in
    let gen () = Atomic.fetch_and_add value 1 in
    let reset () = Atomic.set value (succ null) in
    (gen, reset)
end