aboutsummaryrefslogblamecommitdiffstats
path: root/lib/protocols/Evaluator.mli
blob: 934c5e3af272083ade3e03a7cf79677ea716915f (plain) (tree)
1
2
3
4
5
6
7
8
      
              

                                  



                                                                                               




                                                                                   
                                                                                       
 
          
                       

                  

                                                 
type t
type kind = ..

class type implementation = object
  method parse : string -> (kind, Concepts.Condition.condition) result

  method eval :
    kind -> Handle.t list -> within:Handle.t -> (Handle.t, 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 parse : t Handle.interface -> string -> (kind, Concepts.Condition.condition) result

val eval :
  t Handle.interface ->
  kind ->
  Handle.t list ->
  within:Handle.t ->
  (Handle.t, Concepts.Condition.condition) result