package libsail

  1. Overview
  2. Docs
val opt_use_heuristics : bool Stdlib.ref
val opt_insert_braces : bool Stdlib.ref
module Big_int = Nat_big_num
val doc_id : Ast.id -> PPrint.document
val doc_kid : Ast.kid -> PPrint.document
val doc_attr : string -> string -> PPrint.document
val doc_def_annot : Ast.def_annot -> PPrint.document
val doc_kopt_no_parens : Ast.kinded_id -> PPrint.document
val doc_kopt : Ast.kinded_id -> PPrint.document
val doc_int : Big_int.num -> PPrint.document
val doc_ord : Ast.order -> PPrint.document
val doc_typ_pat : Ast.typ_pat -> PPrint.document
val doc_nexp : Ast.nexp -> PPrint.document
val doc_typ : ?simple:bool -> Ast.typ -> PPrint.document
val doc_typ_arg : Ast.typ_arg -> PPrint.document
val doc_arg_typs : Ast.typ list -> PPrint.document
val doc_subst : Ast.subst -> PPrint.document
val doc_kind : Ast.kind -> PPrint.document
val doc_kopts : Ast.kinded_id list -> PPrint.document
val doc_quants : Ast.quant_item list -> PPrint.document
val doc_param_quants : Ast.quant_item list -> PPrint.document
val doc_binding : ?simple:bool -> (Ast.typquant * Ast.typ) -> PPrint.document
val doc_typschm : ?simple:bool -> Ast.typschm -> PPrint.document
val doc_typschm_typ : Ast.typschm -> PPrint.document
val doc_typquant : Ast.typquant -> PPrint.document option
val doc_lit : Ast.lit -> PPrint.document
val if_block_then : 'a Ast.exp -> bool
val if_block_else : 'a Ast.exp -> bool
val fixities : (Ast.prec * int) Ast_util.Bindings.t Stdlib.ref
type 'a vector_update =
  1. | VU_single of 'a Ast.exp * 'a Ast.exp
  2. | VU_range of 'a Ast.exp * 'a Ast.exp * 'a Ast.exp
val get_vector_updates : 'a Ast.exp -> 'b Ast.exp * 'c vector_update list
val doc_let_style_general : string -> PPrint.document -> PPrint.document option -> Ast_util.uannot Ast.exp -> PPrint.document
val doc_infix : int -> Ast_util.uannot Ast.exp -> PPrint.document
val doc_atomic_exp : Ast_util.uannot Ast.exp -> PPrint.document
val doc_fexps : Ast_util.uannot Ast.fexp list -> PPrint.document
val doc_block : Ast_util.uannot Ast.exp list -> PPrint.document
val doc_atomic_lexp : Ast_util.uannot Ast.lexp -> PPrint.document
val doc_pexps : Ast_util.uannot Ast.pexp list -> PPrint.document
val doc_exp_as_block : Ast_util.uannot Ast.exp -> PPrint.document
val doc_vector_update : Ast_util.uannot vector_update -> PPrint.document
val doc_default : Ast.default_spec -> PPrint.document
val doc_mpat : 'a Ast.mpat -> PPrint.document
val doc_field : (Ast.typ * Ast.id) -> PPrint.document
val doc_union : Ast.type_union -> PPrint.document
val doc_index_range : Ast.index_range -> PPrint.document
val doc_typ_arg_kind : string -> Ast.typ_arg -> PPrint.document
val doc_typdef : 'a Ast.type_def -> PPrint.document
val doc_spec : 'a Ast.val_spec -> PPrint.document
val doc_prec : Ast.prec -> PPrint.document
val doc_loop_measures : Ast_util.uannot Ast.loop_measure list -> PPrint.document
val doc_filter : 'a Ast.def -> bool
val doc_def_no_hardline : Ast_util.uannot Ast.def -> PPrint.document
val reformat : string -> Ast_util.uannot Ast_defs.ast -> unit
val to_string : PPrint.ToBuffer.document -> string