package miou

  1. Overview
  2. Docs
Composable concurrency primitives for OCaml

Install

dune-project
 Dependency

Authors

Maintainers

Sources

miou-0.5.1.tbz
sha256=129339f4a60fc9579ee118d693056caf00be3b68c7a52ea974b91b1f25e4dd63
sha512=5603847cce524c04e9a5dca268fc1050fbf2e4019b0e7fa24ee3d4941c4dce38e17f49b39c7f812634d1ab9b4d0cb02c5103c8c0c644c174df48074763801ffd

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