Module API.Compile

module StrSet : sig ... end
type flags = {
  1. defined_variables : StrSet.t;
  2. print_units : bool;
  3. time_typechecking : bool;
  4. skip_det_checking : bool;
}
val default_flags : flags
val to_setup_flags : flags -> Setup.flags
type program
type query
type executable
exception CompileError of Ast.Loc.t option * string
val program : ?flags:flags -> elpi:Setup.elpi -> Ast.program list -> program
type scoped_program
val scope : ?flags:flags -> elpi:Setup.elpi -> Ast.program -> scoped_program
type compilation_unit
type compilation_unit_signature
val empty_base : elpi:Setup.elpi -> program
val unit : ?flags:flags -> elpi:Setup.elpi -> base:program -> ?builtins:Setup.builtins list -> scoped_program -> compilation_unit
val extend : ?flags:flags -> base:program -> compilation_unit -> program
val extend_signature : ?flags:flags -> base:program -> compilation_unit_signature -> program
val query : program -> Ast.query -> query
val optimize : query -> executable
val total_type_checking_time : query -> float
val total_det_checking_time : query -> float
module IntervalTree : sig ... end
type type_
val pp_type_ : Stdlib.Format.formatter -> type_ -> unit
type info = {
  1. defined : Ast.Loc.t option;
  2. type_ : type_ option;
}
val pp_info : Stdlib.Format.formatter -> info -> unit