Pr_r
val flag_add_locations : bool ref
val flag_comments_in_phrases : bool ref
val flag_extensions_are_irrefutable : bool ref
val flag_expand_declare : bool ref
val flag_horiz_let_in : bool ref
val flag_sequ_begin_at_eol : bool ref
val flag_equilibrate_cases : bool ref
val flag_expand_letop_syntax : bool ref
val flag_where_after_in : bool ref
val flag_where_after_let_eq : bool ref
val flag_where_after_match : bool ref
val flag_where_after_lparen : bool ref
val flag_where_after_field_eq : bool ref
val flag_where_in_sequences : bool ref
val flag_where_after_then : bool ref
val flag_where_after_value_eq : bool ref
val flag_where_after_arrow : bool ref
val sep : string option ref
val pr_attribute_body : MLast.attribute_body Eprinter.t
val error : Ploc.t -> string -> 'a
val is_irrefut_patt : MLast.patt -> bool
val get_defined_ident : MLast.patt -> string list
val un_irrefut_patt : MLast.patt -> MLast.patt * MLast.expr
val not_impl : string -> Pprintf.pr_context -> 'a -> string
val expand_lprintf :
Pprintf.pr_context ->
Ploc.t ->
(Pprintf.pr_context -> string) ->
string
val var_escaped : Pprintf.pr_context -> (Ploc.t * string) -> string
val cons_escaped : Pprintf.pr_context -> string -> string
val mod_ident : Pprintf.pr_context -> (Ploc.t * string list) -> string
val semi_after :
(Pprintf.pr_context -> 'a -> 'b) ->
Pprintf.pr_context ->
'a ->
'b
val star_after :
(Pprintf.pr_context -> 'a -> 'b) ->
Pprintf.pr_context ->
'a ->
'b
val op_after :
(Pprintf.pr_context -> 'a -> 'b) ->
Pprintf.pr_context ->
('a * string) ->
'b
val and_before :
(Pprintf.pr_context -> 'a -> 'b) ->
Pprintf.pr_context ->
'a ->
'b
val bar_before :
(Pprintf.pr_context -> 'a -> 'b) ->
Pprintf.pr_context ->
'a ->
'b
val space_before :
(Pprintf.pr_context -> 'a -> 'b) ->
Pprintf.pr_context ->
'a ->
'b
val andop_before :
(Pprintf.pr_context -> (string * 'a) -> 'b) ->
Pprintf.pr_context ->
(string * 'a) ->
'b
val operator :
Pprintf.pr_context ->
(Pprintf.pr_context -> 'a -> string) ->
(Pprintf.pr_context -> 'b -> string) ->
'c ->
string ->
'a ->
'b ->
string
val left_operator :
Pprintf.pr_context ->
int ->
('a -> ('a * string * 'a) option) ->
'a Prtools.pr_fun ->
'a ->
string
val right_operator :
Pprintf.pr_context ->
int ->
('a -> ('a * string * 'a) option) ->
'a Prtools.pr_fun ->
'a ->
string
val uidopt_to_maybe_blank : string Ploc.vala option -> string
val expr : Eprinter.pr_context -> MLast.expr -> string
val patt : Eprinter.pr_context -> MLast.patt -> string
val ctyp : Eprinter.pr_context -> MLast.ctyp -> string
val ctyp_below_alg_attribute : Eprinter.pr_context -> MLast.ctyp -> string
val str_item : Eprinter.pr_context -> MLast.str_item -> string
val sig_item : Eprinter.pr_context -> MLast.sig_item -> string
val longident : Eprinter.pr_context -> MLast.longid -> string
val module_expr : Eprinter.pr_context -> MLast.module_expr -> string
val module_type : Eprinter.pr_context -> MLast.module_type -> string
val module_type_level_sig : Eprinter.pr_context -> MLast.module_type -> string
val expr_fun_args : MLast.expr -> MLast.patt list * MLast.expr
val attribute_body : Eprinter.pr_context -> MLast.attribute_body -> string
val pr_attribute :
string ->
Pprintf.pr_context ->
MLast.attribute_body Ploc.vala ->
string
val pr_extension :
string ->
Pprintf.pr_context ->
MLast.attribute_body Ploc.vala ->
string
val longident_lident :
Pprintf.pr_context ->
(MLast.longid Ploc.vala option * string Ploc.vala) ->
string
val comm_bef : Prtools.pr_context -> MLast.loc -> string
val comm_expr :
(Prtools.pr_context -> MLast.expr -> string) ->
Prtools.pr_context ->
MLast.expr ->
string
val comm_patt_any :
(Prtools.pr_context -> (MLast.patt * 'a) -> string) ->
Prtools.pr_context ->
(MLast.patt * 'a) ->
string
val patt_as : Eprinter.pr_context -> MLast.patt -> string
val binding :
(Pprintf.pr_context -> 'a -> string) ->
Pprintf.pr_context ->
(MLast.patt * 'a) ->
string
val is_polytype_constraint : MLast.patt -> bool
val is_type_constraint : MLast.patt -> bool
type seq =
| SE_let of Ploc.t
* bool
* (MLast.patt * MLast.expr * MLast.attributes) list
* seq
| SE_let_module of Ploc.t * string Ploc.vala option * MLast.module_expr * seq
| SE_let_open of Ploc.t * bool * MLast.module_expr * seq
| SE_closed of MLast.expr * seq
| SE_other of MLast.expr * seq option
val seq_of_expr : MLast.expr -> seq
val seq_of_expr_ne_list : MLast.expr -> MLast.expr list -> seq
val true_sequence : seq -> bool
val flatten_sequence : MLast.expr -> seq option
val sequencify : MLast.expr -> seq option
val can_be_displayed_as_where :
'a ->
(MLast.patt * MLast.expr * 'b) list ->
MLast.expr ->
('a * MLast.patt * MLast.expr * MLast.expr) option
val forward_expr_wh : (Eprinter.pr_context -> MLast.expr -> string) ref
val value_or_let_binding :
((Pprintf.pr_context -> unit -> string) ->
Prtools.pr_context ->
seq ->
string) ->
Prtools.pr_context ->
(MLast.patt * MLast.expr * MLast.attribute_body Ploc.vala list Ploc.vala) ->
string
val sequence_box :
(Pprintf.pr_context -> unit -> string) ->
Prtools.pr_context ->
seq ->
string
val hvseq : Prtools.pr_context -> seq -> string
val letop_up_to_in :
string ->
Prtools.pr_context ->
(bool * (string * (MLast.patt * MLast.expr * MLast.attributes)) list) ->
string
val let_module_up_to_in :
Pprintf.pr_context ->
(string Ploc.vala option * MLast.module_expr) ->
string
val let_open_up_to_in :
Pprintf.pr_context ->
(bool * MLast.module_expr) ->
string
val where_binding :
Prtools.pr_context ->
(bool * MLast.patt * MLast.expr * MLast.expr) ->
string
val expr_wh : Prtools.pr_context -> MLast.expr -> string
val value_binding :
Prtools.pr_context ->
(MLast.patt * MLast.expr * MLast.attribute_body Ploc.vala list Ploc.vala) ->
string
val match_assoc :
bool ->
Prtools.pr_context ->
(MLast.patt * MLast.expr option Ploc.vala * MLast.expr) ->
string
val label_patt : Eprinter.pr_context -> MLast.patt -> string
val record_binding : Prtools.pr_context -> (MLast.patt * MLast.expr) -> string
val match_assoc_sh :
bool ->
Pprintf.pr_context ->
(MLast.patt * MLast.expr option Ploc.vala * MLast.expr) ->
string
val match_assoc_list :
Pprintf.pr_context ->
(MLast.patt * MLast.expr option Ploc.vala * MLast.expr) list ->
string
val make_expr_list : MLast.expr -> MLast.expr list * MLast.expr option * string
val make_patt_list : MLast.patt -> MLast.patt list * MLast.patt option
val typevar : Pprintf.pr_context -> string -> string
val type_param :
Pprintf.pr_context ->
(string option Ploc.vala * (bool option * bool)) ->
string
val type_constraint : Pprintf.pr_context -> (MLast.ctyp * MLast.ctyp) -> string
val type_decl : Prtools.pr_context -> MLast.type_decl -> string
val label_decl :
Pprintf.pr_context ->
(Ploc.t
* string
* bool
* MLast.ctyp
* MLast.attribute_body Ploc.vala list Ploc.vala) ->
string
val typevars_binder : Pprintf.pr_context -> string list -> string
val cons_decl :
Pprintf.pr_context ->
('a
* string Ploc.vala
* string list Ploc.vala
* MLast.ctyp list Ploc.vala
* MLast.ctyp option Ploc.vala
* MLast.attribute_body Ploc.vala list Ploc.vala) ->
string
val extension_constructor :
Ploc.t ->
Pprintf.pr_context ->
MLast.extension_constructor ->
string
val has_ecs_with_params : MLast.extension_constructor list -> bool
val extension_constructors :
Ploc.t ->
Pprintf.pr_context ->
MLast.extension_constructor list ->
string
val type_extension :
Ploc.t ->
Prtools.pr_context ->
MLast.type_extension ->
string
val has_cons_with_params :
('a * 'b * 'c * 'd list Ploc.vala * 'e * 'f) list ->
bool
val alone_in_line : Prtools.pr_context -> bool
val get_else_if : MLast.expr -> (MLast.expr * MLast.expr) list * MLast.expr
val if_then :
bool ->
(Prtools.pr_context -> MLast.expr -> string) ->
Prtools.pr_context ->
(MLast.expr * MLast.expr) ->
string
val else_if_then :
bool ->
(Pprintf.pr_context -> MLast.expr -> string) ->
Prtools.pr_context ->
(MLast.expr * MLast.expr) ->
string
val loop_else_if :
bool ->
(Pprintf.pr_context -> MLast.expr -> string) ->
Pprintf.pr_context ->
(MLast.expr * MLast.expr) list ->
string
val ending_else :
bool ->
(Pprintf.pr_context -> MLast.expr -> string) ->
Prtools.pr_context ->
MLast.expr ->
string
val if_case_has_vertic :
(Prtools.pr_context -> MLast.expr -> string) ->
Prtools.pr_context ->
MLast.expr ->
MLast.expr ->
(MLast.expr * MLast.expr) list ->
MLast.expr ->
bool
val expr_short : Eprinter.pr_context -> MLast.expr -> string
val string : Pprintf.pr_context -> string -> string
val lident : Pprintf.pr_context -> string -> string
val external_decl :
Pprintf.pr_context ->
(Ploc.t
* string
* string list
* MLast.ctyp
* string list
* MLast.attribute_body Ploc.vala list) ->
string
val external_decl_original :
Pprintf.pr_context ->
('a
* string
* string list
* MLast.ctyp
* string list
* MLast.attribute_body Ploc.vala list) ->
string
val exception_decl :
Pprintf.pr_context ->
(Ploc.t
* string
* MLast.ctyp list
* string list
* MLast.attribute_body Ploc.vala list
* MLast.attribute_body Ploc.vala list) ->
string
val str_module :
string ->
Prtools.pr_context ->
(string option
* MLast.module_expr
* MLast.attribute_body Ploc.vala list Ploc.vala) ->
string
val sig_module_or_module_type :
string ->
string ->
Prtools.pr_context ->
(string option
* MLast.module_type
* MLast.attribute_body Ploc.vala list Ploc.vala) ->
string
val str_or_sig_functor :
Pprintf.pr_context ->
(string option * MLast.module_type) option ->
(Pprintf.pr_context -> 'a -> string) ->
'a ->
string
val con_typ_pat :
Pprintf.pr_context ->
('a
* (MLast.longid Ploc.vala option * string Ploc.vala)
* (string option Ploc.vala * (bool option * bool)) list) ->
string
val with_constraint : Pprintf.pr_context -> MLast.with_constr -> string
val unary :
(string -> bool) ->
(Pprintf.pr_context -> MLast.expr -> 'a) ->
Pprintf.pr_context ->
MLast.expr ->
'a
val nlist3 :
(Prtools.pr_context -> ('a * bool) -> string) ->
(Prtools.pr_context -> ('a * bool) -> string) ->
Prtools.pr_context ->
'a list ->
string
val qs : Pprintf.pr_context -> string -> string
val apply_printer :
(Prtools.pr_context -> 'a -> string) ->
(('a * Ploc.t) list * Ploc.t) ->
unit