package elpi

  1. Overview
  2. Docs
type program = {
  1. macros : (Func.t, Term.t) Macro.t list;
  2. types : tattribute Type.t list;
  3. type_abbrevs : Func.t TypeAbbreviation.t list;
  4. modes : Func.t Mode.t list;
  5. body : block list;
}
and block_constraint = {
  1. clique : Func.t list;
  2. ctx_filter : Func.t list;
  3. rules : cattribute Chr.t list;
}
and block =
  1. | Locals of Func.t list * program
  2. | Clauses of (Term.t, attribute) Clause.t list
  3. | Namespace of Func.t * program
  4. | Shorten of Func.t shorthand list * program
  5. | Constraints of block_constraint * program
and attribute = {
  1. insertion : insertion option;
  2. id : string option;
  3. ifexpr : string option;
}
and insertion =
  1. | Before of string
  2. | After of string
  3. | Replace of string
and cattribute = {
  1. cid : string;
  2. cifexpr : string option;
}
and tattribute =
  1. | External
  2. | Index of int list * tindex option
and tindex =
  1. | Map
  2. | HashMap
  3. | DiscriminationTree
and 'a shorthand = {
  1. iloc : Loc.t;
  2. full_name : 'a;
  3. short_name : 'a;
}
val pp_program : Ppx_deriving_runtime.Format.formatter -> program -> Ppx_deriving_runtime.unit
val show_program : program -> Ppx_deriving_runtime.string
val pp_block_constraint : Ppx_deriving_runtime.Format.formatter -> block_constraint -> Ppx_deriving_runtime.unit
val show_block_constraint : block_constraint -> Ppx_deriving_runtime.string
val pp_block : Ppx_deriving_runtime.Format.formatter -> block -> Ppx_deriving_runtime.unit
val pp_attribute : Ppx_deriving_runtime.Format.formatter -> attribute -> Ppx_deriving_runtime.unit
val show_attribute : attribute -> Ppx_deriving_runtime.string
val pp_insertion : Ppx_deriving_runtime.Format.formatter -> insertion -> Ppx_deriving_runtime.unit
val show_insertion : insertion -> Ppx_deriving_runtime.string
val pp_cattribute : Ppx_deriving_runtime.Format.formatter -> cattribute -> Ppx_deriving_runtime.unit
val show_cattribute : cattribute -> Ppx_deriving_runtime.string
val pp_tattribute : Ppx_deriving_runtime.Format.formatter -> tattribute -> Ppx_deriving_runtime.unit
val show_tattribute : tattribute -> Ppx_deriving_runtime.string
val pp_tindex : Ppx_deriving_runtime.Format.formatter -> tindex -> Ppx_deriving_runtime.unit
val show_tindex : tindex -> Ppx_deriving_runtime.string
val pp_shorthand : (Ppx_deriving_runtime.Format.formatter -> 'a -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> 'a shorthand -> Ppx_deriving_runtime.unit
val show_shorthand : (Ppx_deriving_runtime.Format.formatter -> 'a -> Ppx_deriving_runtime.unit) -> 'a shorthand -> Ppx_deriving_runtime.string
val compare_program : program -> program -> Ppx_deriving_runtime.int
val compare_block_constraint : block_constraint -> block_constraint -> Ppx_deriving_runtime.int
val compare_block : block -> block -> Ppx_deriving_runtime.int
val compare_attribute : attribute -> attribute -> Ppx_deriving_runtime.int
val compare_insertion : insertion -> insertion -> Ppx_deriving_runtime.int
val compare_cattribute : cattribute -> cattribute -> Ppx_deriving_runtime.int
val compare_tattribute : tattribute -> tattribute -> Ppx_deriving_runtime.int
val compare_tindex : tindex -> tindex -> Ppx_deriving_runtime.int
val compare_shorthand : ('a -> 'a -> Ppx_deriving_runtime.int) -> 'a shorthand -> 'a shorthand -> Ppx_deriving_runtime.int
OCaml

Innovation. Community. Security.