aboutsummaryrefslogblamecommitdiffstats
path: root/lib/concepts/Mode.mli
blob: d91b2ab594e76070455374dd2620108a4730ec7c (plain) (tree)
1
2
3
4
5
6
7
8
9

                                 


                                                                      
 
                  
 
                                               
                                                        

                                         

                                                                  
type attributes = BatSet.String.t

(** given [bound], every matching tuple can be produced, and there are
    at most [yields]. *)
type mode = {bound: attributes; yields: Cardinality.t}

type t = mode list

val mode : string list -> Cardinality.t -> mode
val generation : t -> attributes -> Cardinality.t option
val exhaustible : t -> attributes -> bool

(** the modes still usable when only [attributes] can be bound. *)
val project : attributes -> t -> t