package metapp

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

Coercions

val int_of_expression : Ppxlib.expression -> int
val destruct_string_constant : Ppxlib.constant -> string option
val string_of_expression : Ppxlib.expression -> string
val string_of_arbitrary_expression : Ppxlib.expression -> string
val bool_of_expression : Ppxlib.expression -> bool
val list_of_expression : Ppxlib.expression -> Ppxlib.expression list
val list_of_tuple : Ppxlib.expression -> Ppxlib.expression list
val structure_of_expression : Ppxlib.expression -> Ppxlib.structure

Location management

val mkloc : 'a -> 'a0 Location.loc
val map_loc : ('a -> 'b) -> 'a0 Location.loc -> 'b0 Location.loc
val with_loc : ('a -> 'b) -> 'a0 Location.loc -> 'b0

Constructing identifiers

val make_ident : ?prefix:Longident.t -> string -> Longident.t

Constructing function application

val nolabel : 'a -> Ppxlib.Asttypes.arg_label * 'b
val nolabels : 'a list -> (Ppxlib.Asttypes.arg_label * 'b) list
val apply : ?attrs:Astlib.Ast_500.Parsetree.attribute list -> Ppxlib.expression -> ?labels:(string * Ppxlib.expression) list -> ?optional:(string * Ppxlib.expression) list -> Ppxlib.expression list -> Ppxlib.expression

Generic signature for visitable nodes

type 'a iter = 'a -> unit
type 'a map = 'a -> 'a
module type VisitableS = sig ... end

Generic signature for extensible nodes

type destruct_extension = Ppxlib.extension * Ppxlib.attributes
module type ExtensibleS = sig ... end
module type PayloadS = sig ... end
module type ItemS = sig ... end
module Cty : ExtensibleS with type t = Ppxlib.class_type
module Cl : ExtensibleS with type t = Ppxlib.class_expr
module Cf : ExtensibleS with type t = Ppxlib.class_field
module Mty : ExtensibleS with type t = Ppxlib.module_type
module Mod : ExtensibleS with type t = Ppxlib.module_expr
val range_loc : Location.t -> Location.t -> Location.t
module Stri : sig ... end
val list_to_loc : ('a -> Location.t) -> 'a0 list -> Location.t
module Str : sig ... end
module Sigi : sig ... end
module Sig : sig ... end
type value = {
  1. exp : Ppxlib.expression;
  2. pat : Ppxlib.pattern;
}

Generic signature for expressions and patterns

module type BaseValueS = sig ... end
module type ValueS = sig ... end
val unit_ctor : string
val none_ctor : string
val some_ctor : string
val nil_ctor : string
val cons_ctor : string
val longident : Longident.t
module ExtendValue (Base : BaseValueS) : ValueS with type t = Base.t
module Exp : sig ... end
module Typ : sig ... end
module Pat : sig ... end
module Value : ValueS with type t = value

Payload extraction

val int_of_payload : Ppxlib.payload -> int
val string_of_payload : Ppxlib.payload -> string
val bool_of_payload : Ppxlib.payload -> bool

Payload construction (ctd)

val payload_of_int : int -> Ppxlib.payload

Coercions (ctd)

val sequence : Ppxlib.expression list -> Ppxlib.expression

General purpose functions

val update : ('a -> 'b * 'c) -> 'd Stdcompat.ref -> 'e
val mutate : ('a -> 'b) -> 'c Stdcompat.ref -> unit
module Accu : sig ... end