package elpi
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  ELPI - Embeddable λProlog Interpreter
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
  
    
      elpi-2.0.6.tbz
    
    
        
    
  
  
  
    
  
  
    
  
        sha256=b515185d0674557ae3219059d6c91dce2794b30c38ad23447b98a4fa22a99375
    
    
  sha512=48490035f8dc103de9c0f2bf4e3a3ea6db2bda8670efe87bc2402a3b47e5c510452a5ae406be65a83fe16dd410c374894142bbee477681e50fc0dde4b8153d3c
    
    
  doc/elpi.runtime/Elpi_runtime/Data/index.html
Module Elpi_runtime.DataSource
include module type of struct include Term end
Source
val pp_arg_mode : 
  Ppx_deriving_runtime.Format.formatter ->
  arg_mode ->
  Ppx_deriving_runtime.unitSource
val pp_mode_aux : 
  Ppx_deriving_runtime.Format.formatter ->
  mode_aux ->
  Ppx_deriving_runtime.unitSource
type ttype = Term.ttype = - | TConst of Elpi_util.Util.constant
- | TApp of Elpi_util.Util.constant * ttype * ttype list
- | TPred of bool * (arg_mode * ttype) list
- | TArr of ttype * ttype
- | TCData of Elpi_util.Util.CData.t
- | TLam of ttype
Source
type term = Term.term = - | Const of Elpi_util.Util.constant
- | Lam of term
- | App of Elpi_util.Util.constant * term * term list
- | Cons of term * term
- | Nil
- | Discard
- | Builtin of Elpi_util.Util.constant * term list
- | CData of Elpi_util.Util.CData.t
- | UVar of uvar_body * int * int
- | AppUVar of uvar_body * int * term list
- | Arg of int * int
- | AppArg of int * term list
Source
val pp_uvar_body : 
  Ppx_deriving_runtime.Format.formatter ->
  uvar_body ->
  Ppx_deriving_runtime.unitSource
type clause = Term.clause = {- depth : int;
- args : term list;
- hyps : term list;
- vars : int;
- mode : mode;
- loc : Elpi_util.Util.Loc.t option;
- mutable timestamp : int list;
}Source
val pp_grafting_time : 
  Ppx_deriving_runtime.Format.formatter ->
  grafting_time ->
  Ppx_deriving_runtime.unitSource
type stuck_goal = Term.stuck_goal = {- mutable blockers : blockers;
- kind : unification_def stuck_goal_kind;
}Source
and first_lvl_idx = Term.first_lvl_idx = {- idx : second_lvl_idx Ptmap.t;
- time : int;
- times : times;
}Source
and second_lvl_idx = Term.second_lvl_idx = - | TwoLevelIndex of {- mode : mode;
- argno : int;
- all_clauses : clause_list;
- flex_arg_clauses : clause_list;
- arg_idx : clause_list Ptmap.t;
 - }
- | BitHash of {- mode : mode;
- args : int list;
- args_idx : clause_list Ptmap.t;
 - }
- | IndexWithDiscriminationTree of {- mode : mode;
- arg_depths : int list;
- args_idx : clause Discrimination_tree.t;
 - }
Source
val pp_stuck_goal : 
  Ppx_deriving_runtime.Format.formatter ->
  stuck_goal ->
  Ppx_deriving_runtime.unitSource
val pp_blockers : 
  Ppx_deriving_runtime.Format.formatter ->
  blockers ->
  Ppx_deriving_runtime.unitSource
val pp_unification_def : 
  Ppx_deriving_runtime.Format.formatter ->
  unification_def ->
  Ppx_deriving_runtime.unitSource
val pp_clause_src : 
  Ppx_deriving_runtime.Format.formatter ->
  clause_src ->
  Ppx_deriving_runtime.unitSource
val pp_prolog_prog : 
  Ppx_deriving_runtime.Format.formatter ->
  prolog_prog ->
  Ppx_deriving_runtime.unitSource
val pp_clause_list : 
  Ppx_deriving_runtime.Format.formatter ->
  clause_list ->
  Ppx_deriving_runtime.unitSource
val pp_first_lvl_idx : 
  Ppx_deriving_runtime.Format.formatter ->
  index ->
  Ppx_deriving_runtime.unitSource
val pp_second_lvl_idx : 
  Ppx_deriving_runtime.Format.formatter ->
  second_lvl_idx ->
  Ppx_deriving_runtime.unitUsed to index the parameters of a predicate P
- MapOn N-> N-th argument at depth 1 (head symbol only)
- Hash L-> L is the list of depths given by the urer for the parameters of P. Indexing is done by hashing all the parameters with a non zero depth and comparing it with the hashing of the parameters of the query
- DiscriminationTree L-> we use the same logic of Hash, except we use DiscriminationTree to discriminate clauses
Source
val pp_indexing : 
  Ppx_deriving_runtime.Format.formatter ->
  indexing ->
  Ppx_deriving_runtime.unitSource
type clause_w_info = {- clloc : Elpi_util.Util.CData.t;
- clargsname : string list;
- clbody : clause;
}Source
val pp_clause_w_info : 
  Ppx_deriving_runtime.Format.formatter ->
  clause_w_info ->
  Ppx_deriving_runtime.unitSource
type symbol_table = {- mutable c2s : string Elpi_util.Util.Constants.Map.t;
- c2t : (Elpi_util.Util.constant, term) Elpi_util.Util.Hashtbl.t;
- mutable frozen_constants : int;
}Source
val pp_symbol_table : 
  Ppx_deriving_runtime.Format.formatter ->
  symbol_table ->
  Ppx_deriving_runtime.unitSource
type executable = {- compiled_program : prolog_prog;
- chr : CHR.t;
- initial_depth : int;
- initial_goal : term;
- initial_runtime_state : State.t;
- symbol_table : symbol_table;
- builtins : BuiltInPredicate.builtin_table;
- assignments : term Elpi_util.Util.StrMap.t;
}Source
type solution = {- assignments : term Elpi_util.Util.StrMap.t;
- constraints : constraints;
- state : State.t;
- pp_ctx : pp_ctx;
- state_for_relocation : int * symbol_table;
}Source
exception CannotDeclareClauseForBuiltin of Elpi_util.Util.Loc.t option
  * Elpi_util.Util.constant sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >