diff options
| author | Marcos Magueta <maguetamarcos@gmail.com> | 2026-10-08 00:59:05 -0300 |
|---|---|---|
| committer | Marcos Magueta <maguetamarcos@gmail.com> | 2026-10-08 00:59:05 -0300 |
| commit | f49890e12d7eb6a766b966438cd475f7cbf5081b (patch) | |
| tree | dc0b3e09181f9aa091a10ef7eaed86670c570d70 /lib/kernel/Schema.mli | |
| parent | 8f5a9291647d53dd3a912853f5c230cdcb13cb74 (diff) | |
| download | RNT-f49890e12d7eb6a766b966438cd475f7cbf5081b.tar.gz RNT-f49890e12d7eb6a766b966438cd475f7cbf5081b.zip | |
rework evaluators and add schema scope
Diffstat (limited to 'lib/kernel/Schema.mli')
| -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 |
