diff options
| author | Marcos Magueta <maguetamarcos@gmail.com> | 2026-10-05 22:40:22 -0300 |
|---|---|---|
| committer | Marcos Magueta <maguetamarcos@gmail.com> | 2026-10-05 22:40:22 -0300 |
| commit | cfc641a9bb97c94e5993f895a8bcdf24214adc83 (patch) | |
| tree | c793f068df0ff588565b5819b27018b616b87109 /lib/kernel/Journal.mli | |
| parent | 32e663591a84d095723e62ef934a0bc6e1470b52 (diff) | |
| download | RNT-cfc641a9bb97c94e5993f895a8bcdf24214adc83.tar.gz RNT-cfc641a9bb97c94e5993f895a8bcdf24214adc83.zip | |
journal for the websitejournal
Diffstat (limited to 'lib/kernel/Journal.mli')
| -rw-r--r-- | lib/kernel/Journal.mli | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/kernel/Journal.mli b/lib/kernel/Journal.mli new file mode 100644 index 0000000..d354e03 --- /dev/null +++ b/lib/kernel/Journal.mli @@ -0,0 +1,22 @@ +(** a namespace that keeps its history: each binding it accepts is a + commit of [Protocols.Journal]. It answers [Directory] and [Registry] + as a plain namespace does, so a subsystem that only knows those + commits without knowing it. *) + +(** a journal whose first commit, numbered 0, binds [bindings]. *) +val make : ?bindings:(string * Protocols.Handle.t) list -> unit -> Protocols.Handle.t + +(** a journal whose first commit binds whatever [directory] binds now. *) +val adopt : Protocols.Handle.t -> (Protocols.Handle.t, Concepts.Condition.condition) result + +(** a directory of [bindings] that, asked for a derived relation, hands + it out read against itself. *) +val snapshot : (string * Protocols.Handle.t) list -> Protocols.Handle.t + +(** bind each name to its handle, or unbind it, whatever it was bound to + before: as one commit when [directory] is a journal, and one name at + a time when it is a plain namespace. *) +val rebind : + Protocols.Handle.t -> + (string * Protocols.Handle.t option) list -> + (unit, Concepts.Condition.condition) result |
