The path access type for objects if they carry a temporal trace.
The identifier type of the system.
The identifier type of the system. This is an opaque type about which the user only knows that it uniquely identifies and object (or an object along with its access path in the confluent case). It is thus valid to assume that two objects are equal if their identifiers are equal.
The transaction type of the system.
The variable type of the system.
Closes the underlying database (if the system is durable).
Closes the underlying database (if the system is durable). The STM cannot be used beyond this call. An in-memory system should have a no-op implementation.
Initializes the data structure, by either reading an existing entry or generating the root entry
with the init
function.
Initializes the data structure, by either reading an existing entry or generating the root entry
with the init
function. The method than allows the execution of another function within the
same transaction, passing it the data structure root of type A
. This is typically used to
generate access mechanisms, such as extracting a cursor from the data structure, or instantiating
a new cursor. The method then returns both the access point to the data structure and the result
of the second function.
type of data structure
type of result from the second function. typically this is an stm.Cursor[S]
a function to initialize the data structure (if the database is fresh)
a function to process the data structure
a serializer to read or write the data structure
the access to the data structure along with the result of the second function.
Reads the root object representing the stored data structure,
or provides a newly initialized one via the init
argument,
if no root has been stored yet.
Reads the root object representing the stored data structure,
or provides a newly initialized one via the init
argument,
if no root has been stored yet.
Initializes the data structure both with a confluently persisted and an ephemeral-durable value.
Initializes the data structure both with a confluently persisted and an ephemeral-durable value.
type of confluent data structure
type of ephemeral data structure
a function that provides the initial confluent data (if the database is fresh)
a function that provides the initial ephemeral data (if the database is fresh)
a serializer to read or write the confluent data structure
a serializer to read or write the ephemeral data structure
a tuple consisting of a handle to the confluent structure and the
ephemeral datum. The ephemeral datum, although written to disk, does not
require an stm.Source
because D#Acc
is Unit
and does not need refresh.
This is analogous to a
ConfluentLike
trait. Since there is only one system inLucreConfluent
, it was decided to just name itconfluent.Sys
.the implementing system