aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2026-10-07 18:25:43 -0300
committerMarcos Magueta <maguetamarcos@gmail.com>2026-10-07 18:25:43 -0300
commit932e657e38665afa1da1aab549977841abbd9dcf (patch)
treeb2c0b3d30b7aaab7347300b3932a9f03e4f64f9a /docs
parentcfc641a9bb97c94e5993f895a8bcdf24214adc83 (diff)
downloadRNT-932e657e38665afa1da1aab549977841abbd9dcf.tar.gz
RNT-932e657e38665afa1da1aab549977841abbd9dcf.zip
drop journal in favor of local branch history
Diffstat (limited to 'docs')
-rw-r--r--docs/journal.org52
1 files changed, 0 insertions, 52 deletions
diff --git a/docs/journal.org b/docs/journal.org
deleted file mode 100644
index f26f068..0000000
--- a/docs/journal.org
+++ /dev/null
@@ -1,52 +0,0 @@
-#+TITLE: Journals and derived relations
-
-Two protocols and two kernel modules let subsystems share state over time
-without linking each other. They stand in for what the branch manager will
-do once it records the bindings of a namespace.
-
-* Journal
-A journal (=Kernel.Journal=) is a namespace that keeps its history. It
-answers =Directory= and =Registry= as =Kernel.Namespace= does, so code that
-only knows those keeps working, and every binding it accepts is a commit:
-
-#+begin_src ocaml
-type commit = {number: int; snapshot: Handle.t; changed: string list}
-#+end_src
-
-=snapshot= is a directory of every binding as it stood after the commit.
-The =Journal= protocol adds:
-
-- =commit=: bind several names together, each provided it is still bound
- to what was expected. Either all land or none does.
-- =guard=: a function shown each commit before it lands, with the commit it
- would follow. Returning an error refuses it.
-- =observe=: a function told of each commit after it lands.
-
-Guards and observers run while the journal is held, so they see commits one
-at a time and in order. Neither may commit to the journal itself.
-
-=Kernel.Journal.adopt= makes a journal holding whatever a directory binds
-now. =Kernel.Journal.rebind= binds names in one commit when given a journal,
-and one at a time, retrying each swap, when given a plain namespace.
-
-* Derived
-A relation computed from other relations carries =Derived=:
-
-#+begin_src ocaml
-method within : Handle.t -> (Handle.t, condition) result
-#+end_src
-
-=within d= is the same relation read against the directory =d=. A snapshot
-applies it to whatever derived relation it hands out, with itself as =d=.
-So reading through a snapshot gives a derived relation as it was at that
-commit, or, for a commit a guard is still weighing, as it would be.
-
-=Kernel.View.computed= makes such a relation from a function of a directory,
-and =Kernel.View.fixed= one that never changes. =Kernel.View.read= reads a
-relation's heading and tuples whole.
-
-* Limits
-- History lives in memory and grows without bound.
-- A snapshot is named by its bindings, so two commits that bind the same
- objects are the same snapshot.
-- A derived relation is computed again on every read.