module Ast_convenience: Ast_convenience_405
Convenience functions to help build and deconstruct AST fragments.
Compatibility modules
module Label: sig
.. end
module Constant: sig
.. end
Provides a unified abstraction over differences in Parsetree.constant and Asttypes.constant
types defined in ocaml 4.03 and 4.02 respectively
Misc
val lid : ?loc:Ast_405.Ast_helper.loc -> string -> Ast_405.Ast_helper.lid
Expressions
val evar : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs -> string -> Ast_405.Parsetree.expression
val let_in : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs ->
?recursive:bool ->
Ast_405.Parsetree.value_binding list ->
Ast_405.Parsetree.expression -> Ast_405.Parsetree.expression
val constr : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs ->
string -> Ast_405.Parsetree.expression list -> Ast_405.Parsetree.expression
val record : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs ->
?over:Ast_405.Parsetree.expression ->
(string * Ast_405.Parsetree.expression) list -> Ast_405.Parsetree.expression
val tuple : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs ->
Ast_405.Parsetree.expression list -> Ast_405.Parsetree.expression
val nil : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs -> unit -> Ast_405.Parsetree.expression
val cons : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs ->
Ast_405.Parsetree.expression ->
Ast_405.Parsetree.expression -> Ast_405.Parsetree.expression
val list : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs ->
Ast_405.Parsetree.expression list -> Ast_405.Parsetree.expression
val unit : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs -> unit -> Ast_405.Parsetree.expression
val func : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs ->
(Ast_405.Parsetree.pattern * Ast_405.Parsetree.expression) list ->
Ast_405.Parsetree.expression
val lam : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs ->
?label:Label.t ->
?default:Ast_405.Parsetree.expression ->
Ast_405.Parsetree.pattern ->
Ast_405.Parsetree.expression -> Ast_405.Parsetree.expression
val app : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs ->
Ast_405.Parsetree.expression ->
Ast_405.Parsetree.expression list -> Ast_405.Parsetree.expression
val str : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs -> string -> Ast_405.Parsetree.expression
val int : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs -> int -> Ast_405.Parsetree.expression
val int32 : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs -> int32 -> Ast_405.Parsetree.expression
val int64 : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs -> int64 -> Ast_405.Parsetree.expression
val char : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs -> char -> Ast_405.Parsetree.expression
val float : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs -> float -> Ast_405.Parsetree.expression
val sequence : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs ->
Ast_405.Parsetree.expression list -> Ast_405.Parsetree.expression
Return ()
if the list is empty. Tail rec.
Patterns
val pvar : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs -> string -> Ast_405.Parsetree.pattern
val pconstr : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs ->
string -> Ast_405.Parsetree.pattern list -> Ast_405.Parsetree.pattern
val precord : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs ->
?closed:Ast_405.Asttypes.closed_flag ->
(string * Ast_405.Parsetree.pattern) list -> Ast_405.Parsetree.pattern
val ptuple : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs ->
Ast_405.Parsetree.pattern list -> Ast_405.Parsetree.pattern
val pnil : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs -> unit -> Ast_405.Parsetree.pattern
val pcons : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs ->
Ast_405.Parsetree.pattern ->
Ast_405.Parsetree.pattern -> Ast_405.Parsetree.pattern
val plist : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs ->
Ast_405.Parsetree.pattern list -> Ast_405.Parsetree.pattern
val pstr : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs -> string -> Ast_405.Parsetree.pattern
val pint : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs -> int -> Ast_405.Parsetree.pattern
val pchar : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs -> char -> Ast_405.Parsetree.pattern
val pfloat : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs -> float -> Ast_405.Parsetree.pattern
val punit : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs -> unit -> Ast_405.Parsetree.pattern
Types
val tconstr : ?loc:Ast_405.Ast_helper.loc ->
?attrs:Ast_405.Ast_helper.attrs ->
string -> Ast_405.Parsetree.core_type list -> Ast_405.Parsetree.core_type
AST deconstruction
val get_str : Ast_405.Parsetree.expression -> string option
val get_str_with_quotation_delimiter : Ast_405.Parsetree.expression -> (string * string option) option
val get_lid : Ast_405.Parsetree.expression -> string option
val has_attr : string -> Ast_405.Parsetree.attributes -> bool
val find_attr : string -> Ast_405.Parsetree.attributes -> Ast_405.Parsetree.payload option
val find_attr_expr : string -> Ast_405.Parsetree.attributes -> Ast_405.Parsetree.expression option