elpi

ELPI - Embeddable λProlog Interpreter
Library elpi
Module Elpi . API . Compile
module StrSet : sig ... end
type flags = {
defined_variables : StrSet.t;
print_passes : bool;
print_units : bool;
}
val default_flags : flags
val to_setup_flags : flags -> Setup.flags
type program
type 'a query
type 'a executable
exception CompileError of Ast.Loc.t option * string
val program : ?flags:flags -> elpi:Setup.elpi -> Ast.program list -> program
type compilation_unit
val unit : ?flags:flags -> elpi:Setup.elpi -> Ast.program -> compilation_unit
val assemble : ?flags:flags -> elpi:Setup.elpi -> compilation_unit list -> program
val extend : ?flags:flags -> base:program -> compilation_unit list -> program
val query : program -> Ast.query -> unit query
val optimize : 'a query -> 'a executable
val static_check : checker:program -> 'a query -> bool

Runs a checker. Returns true if no errors were found. See also Builtins.default_checker.