package datalog

  1. Overview
  2. Docs

Parameters

Signature

type t

A set of term->data bindings, for efficient retrieval by unification

val empty : unit -> t

new, empty index

val copy : t -> t

Recursive copy of the index

val clear : t -> unit
val add : t -> T.t -> Data.t -> t

Add the term->data binding. This modifies the index!

val remove : t -> T.t -> Data.t -> t

Remove the term->data binding. This modifies the index!

val generalizations : ?oc:bool -> t -> scope -> T.t -> scope -> (Data.t -> Subst.t -> unit) -> unit

Retrieve data associated with terms that are a generalization of the given query term

val unify : ?oc:bool -> t -> scope -> T.t -> scope -> (Data.t -> Subst.t -> unit) -> unit

Retrieve data associated with terms that unify with the given query term

val iter : t -> (T.t -> Data.t -> unit) -> unit

Iterate on bindings

val size : t -> int

Number of bindings