Module TopDown

module TopDown: sig .. end

Top-Down Computation

This module implements top-down computation of Datalog queries with non-stratified negation.

See "efficient top-down computation of queries under the well-founded semantics"

Signature for symbols

module type CONST = sig .. end
module type S = sig .. end

Generic implementation

module Make: 
functor (Const : CONST) -> S with module Const = Const


module type PARSABLE_CONST = sig .. end
module type PARSE = sig .. end
module MakeParse: 
functor (C : PARSABLE_CONST) ->
functor (TD : S with type Const.t = C.t) -> PARSE with type term = TD.T.t and type lit = TD.Lit.t and type clause = TD.C.t

Default Implementation with Strings

type const = 
| Int of int
| String of string
module Default: sig .. end