Module Datalog_caml_interface

Bridge between Datalog.TopDown and OCaml

Constants with universal types

This module is present to allow the user to pack their own types into Datalog constants. It is NOT thread-safe. This is largely inspired by this thread

module TopDown = Datalog_top_down
module Univ : sig ... end
type const = Univ.t

Datalog constant. Constants for relations are built using Univ.string, which is also used by of_string.

val of_string : string -> const
val of_int : int -> const
module Logic : TopDown.S with type Const.t = const

Typed relations

module Rel1 : sig ... end
module Rel2 : sig ... end
module Rel3 : sig ... end
module RelList : sig ... end

IO

module Parse : sig ... end

Interpretation

val add_builtin : Logic.DB.t -> unit