Module Ast_convenienceSource

Convenience functions to help build and deconstruct AST fragments.

Compatibility modules

Sourcemodule Label : sig ... end
Sourcemodule Constant : sig ... end

Misc

Sourceval lid : ?loc:Ast_helper.loc -> string -> Ast_helper.lid

Expressions

Sourceval evar : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> string -> Parsetree.expression
Sourceval let_in : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> ?recursive:bool -> Parsetree.value_binding list -> Parsetree.expression -> Parsetree.expression
Sourceval constr : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> string -> Parsetree.expression list -> Parsetree.expression
Sourceval record : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> ?over:Parsetree.expression -> (string * Parsetree.expression) list -> Parsetree.expression
Sourceval tuple : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> Parsetree.expression list -> Parsetree.expression
Sourceval nil : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> unit -> Parsetree.expression
Sourceval cons : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> Parsetree.expression -> Parsetree.expression -> Parsetree.expression
Sourceval list : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> Parsetree.expression list -> Parsetree.expression
Sourceval unit : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> unit -> Parsetree.expression
Sourceval func : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> (Parsetree.pattern * Parsetree.expression) list -> Parsetree.expression
Sourceval lam : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> ?label:Label.t -> ?default:Parsetree.expression -> Parsetree.pattern -> Parsetree.expression -> Parsetree.expression
Sourceval app : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> Parsetree.expression -> Parsetree.expression list -> Parsetree.expression
Sourceval str : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> string -> Parsetree.expression
Sourceval int : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> int -> Parsetree.expression
Sourceval int32 : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> int32 -> Parsetree.expression
Sourceval int64 : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> int64 -> Parsetree.expression
Sourceval char : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> char -> Parsetree.expression
Sourceval float : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> float -> Parsetree.expression
Sourceval sequence : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> Parsetree.expression list -> Parsetree.expression

Return () if the list is empty. Tail rec.

Patterns

Sourceval pvar : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> string -> Parsetree.pattern
Sourceval pconstr : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> string -> Parsetree.pattern list -> Parsetree.pattern
Sourceval precord : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> ?closed:Asttypes.closed_flag -> (string * Parsetree.pattern) list -> Parsetree.pattern
Sourceval ptuple : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> Parsetree.pattern list -> Parsetree.pattern
Sourceval pnil : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> unit -> Parsetree.pattern
Sourceval pcons : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> Parsetree.pattern -> Parsetree.pattern -> Parsetree.pattern
Sourceval plist : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> Parsetree.pattern list -> Parsetree.pattern
Sourceval pstr : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> string -> Parsetree.pattern
Sourceval pint : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> int -> Parsetree.pattern
Sourceval pchar : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> char -> Parsetree.pattern
Sourceval pfloat : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> float -> Parsetree.pattern
Sourceval punit : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> unit -> Parsetree.pattern

Types

Sourceval tconstr : ?loc:Ast_helper.loc -> ?attrs:Ast_helper.attrs -> string -> Parsetree.core_type list -> Parsetree.core_type

AST deconstruction

Sourceval get_str : Parsetree.expression -> string option
Sourceval get_str_with_quotation_delimiter : Parsetree.expression -> (string * string option) option
Sourceval get_lid : Parsetree.expression -> string option
Sourceval has_attr : string -> Parsetree.attributes -> bool
Sourceval find_attr : string -> Parsetree.attributes -> Parsetree.payload option
Sourceval find_attr_expr : string -> Parsetree.attributes -> Parsetree.expression option