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.
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