package batteries

  1. Overview
  2. Docs
A community-maintained standard library extension

Install

Dune Dependency

Authors

Maintainers

Sources

v3.5.0.tar.gz
md5=e4b70d1a716f0aaba36f419f618d0a2e
sha512=a31f1f8cf2c7c3c6c757f3bfae98ff61bb32bab6a1f1e215937df42bcfa447aad41a37edb28d7bcecb88b3838ed8bd57142bcf8e2d28e09bb538055fd8a3b72d

doc/batteries.unthreaded/BatUref/index.html

Module BatUref

Unifiable references using destructive union-find

type 'a uref

A t uref is a reference to a cell that contains a value of type t.

type 'a t = 'a uref

A synonym for convenience

val uref : 'a -> 'a uref

uref x allocates a new uref and places the value x in it.

val uget : 'a uref -> 'a

uget ur returns the value stored in the uref ur.

val uset : 'a uref -> 'a -> unit

uset ur x updates the contents of ur with x.

val unite : ?sel:('a -> 'a -> 'a) -> 'a uref -> 'a uref -> unit

unite ~sel ur1 ur2 unites the urefs ur1 and ur2, selecting the result of sel (uget ur1) (uget ur2) for the contents of the resulting united uref. After this operation, uget ur1 == uget ur2. By default, sel is fun x _y -> x.

val equal : 'a uref -> 'a uref -> bool

equal ur1 ur2 returns true iff ur1 and ur2 are equal urefs, either because they are physically the same or because they have been united.

Printing
val print : ('a, 'b) BatIO.printer -> ('a uref, 'b) BatIO.printer

Print the uref.

OCaml

Innovation. Community. Security.

On This Page
  1. Printing