Module Ppx_core.Std

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

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

  • Parameter prefix: default = "_x"
val string_of_core_type : Ppxlib__.Import.core_type ‑> Ppxlib__.Import.string
val assert_no_attributes : Ppxlib__.Import.attributes ‑> Ppxlib__.Import.unit
val assert_no_attributes_in : Ppxlib.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_attribute : Ppxlib__.Import.attribute ‑> Ppxlib.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.