aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/SubstantialRelation.mli
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--lib/kernel/SubstantialRelation.mli44
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/kernel/SubstantialRelation.mli b/lib/kernel/SubstantialRelation.mli
new file mode 100644
index 0000000..db86fe2
--- /dev/null
+++ b/lib/kernel/SubstantialRelation.mli
@@ -0,0 +1,44 @@
+module Make (S : Abstract.Storage.STORAGE) : sig
+ type t
+
+ val empty :
+ S.transaction ->
+ heading:Concepts.Hash.hash ->
+ ?predicate:Concepts.Hash.hash ->
+ ?local_constraints:Concepts.Hash.hash ->
+ ?indexes:Concepts.Hash.hash ->
+ unit ->
+ (t, Concepts.Condition.condition) result
+
+ val store : S.transaction -> t -> (Concepts.Hash.hash, Concepts.Condition.condition) result
+
+ val make :
+ S.connection ->
+ heading:Concepts.Hash.hash ->
+ ?predicate:Concepts.Hash.hash ->
+ ?local_constraints:Concepts.Hash.hash ->
+ ?indexes:Concepts.Hash.hash ->
+ unit ->
+ (Protocols.Handle.t, Concepts.Condition.condition) result
+
+ val load_value : S.transaction -> Concepts.Hash.hash -> (t, Concepts.Condition.condition) result
+
+ val load :
+ S.transaction ->
+ S.connection ->
+ Concepts.Hash.hash ->
+ (Protocols.Handle.t, Concepts.Condition.condition) result
+
+ val heading : t -> Concepts.Hash.hash
+ val predicate : t -> Concepts.Hash.hash option
+ val local_constraints : t -> Concepts.Hash.hash option
+ val tuples : t -> Concepts.Hash.hash
+ val indexes : t -> Concepts.Hash.hash option
+ val hash : t -> Concepts.Hash.hash
+
+ val assert_tuple :
+ S.transaction -> t -> Concepts.Blob.t -> (t, Concepts.Condition.condition) result
+
+ val contains_tuple :
+ S.transaction -> t -> Concepts.Blob.t -> (bool, Concepts.Condition.condition) result
+end