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 =
  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 Func.t list * cattribute Chr.t list * 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
and 'a shorthand = {
  1. iloc : Loc.t;
  2. full_name : 'a;
  3. short_name : 'a;
}
val show_program : program -> Ppx_deriving_runtime.string
val show_attribute : attribute -> Ppx_deriving_runtime.string
val show_insertion : insertion -> Ppx_deriving_runtime.string
val show_cattribute : cattribute -> Ppx_deriving_runtime.string
val show_tattribute : tattribute -> Ppx_deriving_runtime.string
OCaml

Innovation. Community. Security.