package datalog

  1. Overview
  2. Docs
type t
type interpreter = T.t -> C.t list
val create : ?parent:t -> unit -> t
val copy : t -> t
val add_fact : t -> T.t -> unit
val add_facts : t -> T.t list -> unit
val add_clause : t -> C.t -> unit
val add_clauses : t -> C.t list -> unit
val interpret : ?help:string -> t -> const -> interpreter -> unit
val interpret_list : t -> (const * string * interpreter) list -> unit
val is_interpreted : t -> const -> bool
val add_builtin : t -> Const.t -> BuiltinFun.t -> unit
val builtin_funs : t -> BuiltinFun.map
val eval : t -> T.t -> T.t
val help : t -> string list
val num_facts : t -> int
val num_clauses : t -> int
val size : t -> int
val find_facts : ?oc:bool -> t -> scope -> T.t -> scope -> (T.t -> Subst.t -> unit) -> unit
val find_clauses_head : ?oc:bool -> t -> scope -> T.t -> scope -> (C.t -> Subst.t -> unit) -> unit
val find_interpretation : ?oc:bool -> t -> scope -> T.t -> scope -> (C.t -> Subst.t -> unit) -> unit
OCaml

Innovation. Community. Security.