Module Datalog.BottomUp

Main Datalog module

Universal type

module Univ : sig ... end

This module is present to allow the user to extend explanations with her own types.

Main module type

module type S = sig ... end

Signature for a symbol type

module type SymbolType = sig ... end

A symbol must be hashable, comparable and printable.

Hashconsing of symbols

module Hashcons : functor (S : SymbolType) -> sig ... end

Main functor

module Make : functor (Symbol : SymbolType) -> S with type symbol = Symbol.t

Build a Datalog module. This allows to specialize Datalog for a user-defined type of atoms. Strings are a good default, but more complicated types can be useful.