package elpi

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Ast.StructuredSource

Sourcetype program = {
  1. macros : (Func.t, Term.t) Macro.t list;
  2. kinds : (unit, unit) Type.t list;
  3. types : (symbol_attribute, functionality) Type.t list;
  4. type_abbrevs : (Func.t, functionality TypeExpression.t) TypeAbbreviation.t list;
  5. body : block list;
}
Sourceand ('func, 'term) block_constraint = {
  1. loc : Loc.t;
  2. clique : 'func list;
  3. ctx_filter : 'func list;
  4. rules : (cattribute, 'term) Chr.t list;
}
Sourceand block =
  1. | Clauses of (Term.t, attribute, unit, unit) Clause.t list
  2. | Namespace of Func.t * program
  3. | Shorten of Func.t shorthand list * program
  4. | Constraints of (Func.t, Term.t) block_constraint * program
  5. | Accumulated of program
Sourceand attribute = {
  1. insertion : insertion option;
  2. id : string option;
  3. ifexpr : string option;
  4. typecheck : bool;
}
Sourceand insertion =
  1. | Insert of insertion_place
  2. | Replace of string
  3. | Remove of string
Sourceand insertion_place =
  1. | Before of string
  2. | After of string
Sourceand cattribute = {
  1. cid : string;
  2. cifexpr : string option;
}
Sourceand symbol_attribute = {
  1. availability : symbol_availability;
  2. index : predicate_indexing option;
}
Sourceand predicate_indexing =
  1. | Index of int list * tindex option
  2. | MaximizeForFunctional
Sourceand symbol_availability =
  1. | Elpi
  2. | OCaml of provenance
Sourceand tindex =
  1. | Map
  2. | HashMap
  3. | DiscriminationTree
Sourceand 'a shorthand = {
  1. iloc : Loc.t;
  2. full_name : 'a;
  3. short_name : 'a;
}
Sourceand functionality =
  1. | Function
  2. | Relation
Sourceand variadic =
  1. | Variadic
  2. | NotVariadic
Sourceand provenance =
  1. | Core
  2. | Builtin of {
    1. variant : int;
    }
  3. | File of Loc.t
Sourceval pp_program : Ppx_deriving_runtime.Format.formatter -> program -> Ppx_deriving_runtime.unit
Sourceval pp_block_constraint : (Ppx_deriving_runtime.Format.formatter -> 'func -> Ppx_deriving_runtime.unit) -> (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> ('func, 'term) block_constraint -> Ppx_deriving_runtime.unit
Sourceval show_block_constraint : (Ppx_deriving_runtime.Format.formatter -> 'func -> Ppx_deriving_runtime.unit) -> (Ppx_deriving_runtime.Format.formatter -> 'term -> Ppx_deriving_runtime.unit) -> ('func, 'term) block_constraint -> Ppx_deriving_runtime.string
Sourceval pp_block : Ppx_deriving_runtime.Format.formatter -> block -> Ppx_deriving_runtime.unit
Sourceval pp_attribute : Ppx_deriving_runtime.Format.formatter -> attribute -> Ppx_deriving_runtime.unit
Sourceval pp_insertion : Ppx_deriving_runtime.Format.formatter -> insertion -> Ppx_deriving_runtime.unit
Sourceval pp_insertion_place : Ppx_deriving_runtime.Format.formatter -> insertion_place -> Ppx_deriving_runtime.unit
Sourceval pp_cattribute : Ppx_deriving_runtime.Format.formatter -> cattribute -> Ppx_deriving_runtime.unit
Sourceval pp_symbol_attribute : Ppx_deriving_runtime.Format.formatter -> symbol_attribute -> Ppx_deriving_runtime.unit
Sourceval pp_predicate_indexing : Ppx_deriving_runtime.Format.formatter -> predicate_indexing -> Ppx_deriving_runtime.unit
Sourceval show_predicate_indexing : predicate_indexing -> Ppx_deriving_runtime.string
Sourceval pp_symbol_availability : Ppx_deriving_runtime.Format.formatter -> symbol_availability -> Ppx_deriving_runtime.unit
Sourceval show_symbol_availability : symbol_availability -> Ppx_deriving_runtime.string
Sourceval pp_tindex : Ppx_deriving_runtime.Format.formatter -> tindex -> Ppx_deriving_runtime.unit
Sourceval pp_shorthand : (Ppx_deriving_runtime.Format.formatter -> 'a -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> 'a shorthand -> Ppx_deriving_runtime.unit
Sourceval show_shorthand : (Ppx_deriving_runtime.Format.formatter -> 'a -> Ppx_deriving_runtime.unit) -> 'a shorthand -> Ppx_deriving_runtime.string
Sourceval pp_functionality : Ppx_deriving_runtime.Format.formatter -> functionality -> Ppx_deriving_runtime.unit
Sourceval pp_variadic : Ppx_deriving_runtime.Format.formatter -> variadic -> Ppx_deriving_runtime.unit
Sourceval pp_provenance : Ppx_deriving_runtime.Format.formatter -> provenance -> Ppx_deriving_runtime.unit
Sourceval compare_program : program -> program -> Ppx_deriving_runtime.int
Sourceval compare_block_constraint : ('func -> 'func -> Ppx_deriving_runtime.int) -> ('term -> 'term -> Ppx_deriving_runtime.int) -> ('func, 'term) block_constraint -> ('func, 'term) block_constraint -> Ppx_deriving_runtime.int
Sourceval compare_block : block -> block -> Ppx_deriving_runtime.int
Sourceval compare_attribute : attribute -> attribute -> Ppx_deriving_runtime.int
Sourceval compare_insertion : insertion -> insertion -> Ppx_deriving_runtime.int
Sourceval compare_tindex : tindex -> tindex -> Ppx_deriving_runtime.int
Sourceval compare_shorthand : ('a -> 'a -> Ppx_deriving_runtime.int) -> 'a shorthand -> 'a shorthand -> Ppx_deriving_runtime.int
Sourceval compare_variadic : variadic -> variadic -> Ppx_deriving_runtime.int
OCaml

Innovation. Community. Security.