From 441f2f3359d6f59e4f26f1d5751926d26b1c7cf9 Mon Sep 17 00:00:00 2001 From: Marcos Magueta Date: Thu, 3 Sep 2026 16:55:45 -0300 Subject: Substantial relation kernel object --- lib/protocols/Relation.mli | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 lib/protocols/Relation.mli (limited to 'lib/protocols/Relation.mli') diff --git a/lib/protocols/Relation.mli b/lib/protocols/Relation.mli new file mode 100644 index 0000000..4aeb562 --- /dev/null +++ b/lib/protocols/Relation.mli @@ -0,0 +1,22 @@ +type t + +class type implementation = object + method heading : (Concepts.Hash.hash, Concepts.Condition.condition) result + method predicate : (Concepts.Hash.hash option, Concepts.Condition.condition) result + method local_constraints : (Concepts.Hash.hash option, Concepts.Condition.condition) result + method tuples : (Concepts.Hash.hash, Concepts.Condition.condition) result + method contains : Concepts.Blob.t -> (bool, Concepts.Condition.condition) result +end + +val make : #implementation -> Handle.protocol +val from : Handle.t -> t Handle.interface option +val heading : t Handle.interface -> (Concepts.Hash.hash, Concepts.Condition.condition) result + +val predicate : + t Handle.interface -> (Concepts.Hash.hash option, Concepts.Condition.condition) result + +val local_constraints : + t Handle.interface -> (Concepts.Hash.hash option, Concepts.Condition.condition) result + +val tuples : t Handle.interface -> (Concepts.Hash.hash, Concepts.Condition.condition) result +val contains : t Handle.interface -> Concepts.Blob.t -> (bool, Concepts.Condition.condition) result -- cgit v1.2.3