aboutsummaryrefslogtreecommitdiffstats
path: root/lib/protocols/Relation.mli
blob: 7e64a3b27805369d64d9d4b1604fbc072325031e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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 contains : Concepts.Tuple.t -> (bool, Concepts.Condition.condition) result
end

val make : #implementation -> Handle.protocol
val from : Handle.t -> t Handle.interface option
val require : Handle.t -> (t Handle.interface, Concepts.Condition.condition) result
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 contains :
  t Handle.interface -> Concepts.Tuple.t -> (bool, Concepts.Condition.condition) result