aboutsummaryrefslogblamecommitdiffstats
path: root/lib/protocols/Relation.mli
blob: 47d1d3e3b0c8d40adbd8981cb616e440fee94c62 (plain) (tree)
1
2
3
4
5
6
7
8
9


                                  
                                                                                   



                                                
                                                                                   
                                                                                                    
 


                                                                                                



                                                                                                
type t

class type implementation = object
  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 contains : t Handle.interface -> Concepts.Tuple.t -> (bool, Concepts.Condition.condition) result

(** the heading a relation describes itself with. *)
val heading : Handle.t -> (Schematics.relation_description, Concepts.Condition.condition) result

(** the heading and tuples of a relation, read whole. *)
val read :
  Handle.t ->
  (Schematics.relation_description * Concepts.Tuple.t list, Concepts.Condition.condition) result