Module Ppx_core.Std

module Ast_builder = Ast_builder
module Ast_pattern = Ast_pattern
module Ast_traverse = Ast_traverse
module Attribute = Attribute
module Caller_id = Caller_id
module Context_free = Context_free
module Extension = Extension
module File_path = File_path
module Loc = Loc
module Merlin_helpers = Merlin_helpers
module Reserved_namespaces = Ppx_core__.Name.Reserved_namespaces
module Spellcheck = Spellcheck
include Ppx_core__.Common
val core_type_of_type_declaration : Ppx_core__.Import.type_declaration ‑> Ppx_core__.Import.core_type

gen_symbol ?prefix () generates a fresh variable name with prefix.

  • Parameter prefix: default = "_x"
val assert_no_attributes_in : Ast_traverse.iter

get_tparam_id tp

  • Returns the string identifier associated with tp if it is a type parameter.

(new type_is_recursive rec_flag tds)#go () returns whether rec_flag, tds is really a recursive type. We disregard recursive occurrences appearing in arrow types. You can override the search for certain type expressions by inheriting from this class.

really_recursive rec_flag tds = (new type_is_recursive rec_flag tds)#go ()

val loc_of_payload : Ppx_core__.Import.attribute ‑> Location.t
val loc_of_attribute : Ppx_core__.Import.attribute ‑> Location.t

convert multi-arg function applications into a cascade of 1-arg applications

Encode a warning message into an 'ocaml.ppwarning' attribute which can be inserted in a generated Parsetree. The compiler will be responsible for reporting the warning.