package metapp

  1. Overview
  2. Docs
module Header : sig ... end
include module type of struct include Header end

Coercions

val int_of_expression : Parsetree.expression -> int
val string_of_expression : Parsetree.expression -> string
val string_of_arbitrary_expression : Parsetree.expression -> string
val bool_of_expression : Parsetree.expression -> bool
val pair_of_expression : Parsetree.expression -> Parsetree.expression * Parsetree.expression
val list_of_expression : Parsetree.expression -> Parsetree.expression list
val list_of_tuple : Parsetree.expression -> Parsetree.expression list
val structure_of_expression : Parsetree.expression -> Parsetree.structure
val lid_of_str : Ast_helper.str -> Ast_helper.lid

Location management

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

Constructing identifiers

val make_ident : ?prefix:Longident.t -> string -> Longident.t
val ident : ?attrs:Ast_helper.attrs -> Longident.t -> Parsetree.expression

Constructing function application

val nolabel : 'a -> Asttypes.arg_label * 'a
val nolabels : 'a list -> (Asttypes.arg_label * 'a) list
val apply : ?attrs:Ast_helper.attrs -> Parsetree.expression -> ?labels:(string * Parsetree.expression) list -> Parsetree.expression list -> Parsetree.expression

Generic signature for visitable nodes

type 'a iterator_item = Ast_iterator.iterator -> 'a -> unit
type 'a mapper_item = Ast_mapper.mapper -> 'a -> 'a
type ('cell, 'contents) accessor = ('cell, 'contents) Header.accessor = {
  1. get : 'cell -> 'contents;
  2. set : 'contents -> 'cell -> 'cell;
}
module type VisitableS = Header.VisitableS

Generic signature for extensible nodes

module type ExtensibleS = Header.ExtensibleS
module type PayloadS = Header.PayloadS
module type ItemS = Header.ItemS
module Cty = Header.Cty
module Ctf = Header.Ctf
module Cl = Header.Cl
module Cf = Header.Cf
module Mty = Header.Mty
module Mod = Header.Mod
val range_loc : Location.t -> Location.t -> Location.t
module Stri = Header.Stri
val list_to_loc : ('a -> Location.t) -> 'a list -> Location.t
module Str = Header.Str
module Sigi = Header.Sigi
module Sig = Header.Sig
type value = Header.value = {
  1. exp : Parsetree.expression;
  2. pat : Parsetree.pattern;
}

Generic signature for expressions and patterns

module type BaseValueS = Header.BaseValueS
module type ValueS = Header.ValueS
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 = Header.ExtendValue
module Exp : sig ... end
module Typ : sig ... end
include module type of struct include Footer end
module Pat = Footer.Pat
module Value = Footer.Value

Payload extraction

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

Payload construction (ctd)

val payload_of_int : int -> Parsetree.payload

Coercions (ctd)

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

General purpose functions

val update : ('a -> 'b * 'a) -> 'a Stdcompat.ref -> 'b
val mutate : ('a -> 'a) -> 'a Stdcompat.ref -> unit
OCaml

Innovation. Community. Security.