diff options
Diffstat (limited to '')
| -rw-r--r-- | lib/kernel/Schema.mli | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/kernel/Schema.mli b/lib/kernel/Schema.mli new file mode 100644 index 0000000..7970ee2 --- /dev/null +++ b/lib/kernel/Schema.mli @@ -0,0 +1,23 @@ +(** A schema: its relations, \schema\[s]\relation\[r]. For now only a + namespace for them. *) +module Make (S : Abstract.Storage.STORAGE) : sig + include Merkle.VALUE + + val load : + ?bind:EphemeralRelation.binding -> + S.connection -> + t -> + (Protocols.Handle.t, Concepts.Condition.condition) result + + (** a schema handed over with no address, as a directory holding its + relations under \relation, to store once the write has begun. A + relation with no address is stored as a program if it is one, and + as the tuples it holds if not. *) + val admit : + string -> + Protocols.Handle.t -> + (S.transaction Prototype.Associative.admission, Concepts.Condition.condition) result + + (** an empty one, stored. *) + val make : S.connection -> (Protocols.Handle.t, Concepts.Condition.condition) result +end |
