diff options
Diffstat (limited to 'lib/kernel/View.mli')
| -rw-r--r-- | lib/kernel/View.mli | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/kernel/View.mli b/lib/kernel/View.mli new file mode 100644 index 0000000..04e75ff --- /dev/null +++ b/lib/kernel/View.mli @@ -0,0 +1,21 @@ +(** relations as values a subsystem hands to the tree. *) + +type heading = Protocols.Schematics.attribute_description BatMap.String.t +type rows = (Concepts.Tuple.t list, Concepts.Condition.condition) result + +(** a relation holding [tuples], which never changes. *) +val fixed : heading -> Concepts.Tuple.t list -> Protocols.Handle.t + +(** a relation computed from a directory of relations. Read as it is, it + is computed against [current ()] each time; read through a snapshot, + it is computed against the snapshot instead (see [Protocols.Derived]), + so it is what it was, or would be, at that moment. *) +val computed : + heading -> + current:(unit -> (Protocols.Handle.t, Concepts.Condition.condition) result) -> + (Protocols.Handle.t -> rows) -> + Protocols.Handle.t + +(** the heading and tuples of a relation, read whole. *) +val read : + Protocols.Handle.t -> (heading * Concepts.Tuple.t list, Concepts.Condition.condition) result |
