package datalog

  1. Overview
  2. Docs
type t = T.t -> T.t option
type map

Map symbols to builtin functions. Every symbol can only have at most one built-in function.

val create : unit -> map
val add : map -> Const.t -> t -> unit

Interpret the given constant by the given function. The function can assume that any term is it given as a parameter has the constant as head.

val add_list : map -> (Const.t * t) list -> unit
val interpreted : map -> Const.t -> bool

Is the constant interpreted by a built-in function?

val eval : map -> T.t -> T.t

Evaluate the term at root