necoherence/record
Types
Closed value distinguishing whether a record carries a basis.
pub type BasisPresence {
NoBasis
WithBasis(core.Basis)
}
Constructors
-
NoBasis -
WithBasis(core.Basis)
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.