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_op : PPrint.document -> PPrint.document -> PPrint.document -> PPrint.document
val doc_id : Ast.id -> PPrint.document
val doc_kid : Ast.kid -> PPrint.document
val doc_attr : string -> string -> 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_nc : Ast.n_constraint -> 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 doc_pat : Ast_util.uannot Ast.pat -> 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 -> 'a Ast.exp * 'a vector_update list
val doc_exp : Ast_util.uannot Ast.exp -> PPrint.document
val doc_let_style : string -> PPrint.document -> PPrint.document -> Ast_util.uannot Ast.exp -> PPrint.document
val doc_let_style_general : string -> PPrint.document -> PPrint.document option -> Ast_util.uannot Ast.exp -> PPrint.document
val doc_measure : Ast_util.uannot Ast.internal_loop_measure -> PPrint.document list
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_fexp : Ast_util.uannot Ast.fexp -> PPrint.document
val doc_block : Ast_util.uannot Ast.exp list -> PPrint.document
val doc_lexp : Ast_util.uannot Ast.lexp -> 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_pexp : Ast_util.uannot Ast.pexp -> PPrint.document
val doc_letbind : Ast_util.uannot Ast.letbind -> 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_funcl : Ast_util.uannot Ast.funcl -> PPrint.document
val doc_default : Ast.default_spec -> PPrint.document
val doc_rec : Ast_util.uannot Ast.rec_opt -> PPrint.document
val doc_fundef : Ast_util.uannot Ast.fundef -> PPrint.document
val doc_mpat : 'a Ast.mpat -> PPrint.document
val doc_mpexp : Ast_util.uannot Ast.mpexp -> PPrint.document
val doc_mapcl : Ast_util.uannot Ast.mapcl -> PPrint.document
val doc_mapdef : Ast_util.uannot Ast.mapdef -> PPrint.document
val doc_dec : Ast_util.uannot Ast.dec_spec -> 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_scattered : Ast_util.uannot Ast.scattered_def -> PPrint.document
val doc_filter : 'a Ast.def -> bool
val doc_def_no_hardline : ?comment:bool -> Ast_util.uannot Ast.def -> PPrint.document
val doc_def : ?comment:bool -> Ast_util.uannot Ast.def -> PPrint.document
val doc_ast : ?comment:bool -> Ast_util.uannot Ast_defs.ast -> PPrint.document
val reformat : string -> Ast_util.uannot Ast_defs.ast -> unit
val pp_ast : PPrint.ToChannel.channel -> Ast_util.uannot Ast_defs.ast -> unit
val pretty_sail : PPrint.ToChannel.channel -> PPrint.ToChannel.document -> unit
val to_string : PPrint.ToBuffer.document -> string
OCaml

Innovation. Community. Security.