necoherence/record

Types

Closed value distinguishing whether a record carries a basis.

pub type BasisPresence {
  NoBasis
  WithBasis(core.Basis)
}

Constructors

One call: which declaration ran, on what input, and what settled. The basis is an immutable value the caller carries; there is no mutable sink or internal counter here.

pub type CallRecord(input, product) {
  CallRecord(
    declaration: String,
    input: input,
    product: product,
    basis: BasisPresence,
  )
}

Constructors

  • CallRecord(
      declaration: String,
      input: input,
      product: product,
      basis: BasisPresence,
    )

Values

pub fn has_edge(
  earlier: CallRecord(a, b),
  later: CallRecord(c, d),
) -> Bool

Hold where later reads the resource earlier settled on.

pub fn record_of(
  declaration: String,
  input: input,
  product: product,
) -> CallRecord(input, product)

Build a record without a basis.

pub fn record_on_basis(
  declaration: String,
  input: input,
  product: product,
  basis: core.Basis,
) -> CallRecord(input, product)

Build a record that carries the basis its command was situated on.

✨ Search Document