package links

  1. Overview
  2. Docs
val strlen : string -> int
val nl : string
type doc =
  1. | DocNil
  2. | DocCons of doc * doc
  3. | DocText of string
  4. | DocNest of int * doc
  5. | DocBreak of string
  6. | DocGroup of doc
val (^^) : doc -> doc -> doc
val empty : doc
val text : string -> doc
val nest : int -> doc -> doc
val break : doc
val breakWith : string -> doc
val group : doc -> doc
type sdoc =
  1. | SNil
  2. | SText of string * sdoc
  3. | SLine of int * sdoc
val sdocToString : sdoc -> string
val output : out_channel -> sdoc -> unit
type mode =
  1. | Flat
  2. | Break
val fits : int -> (int * mode * doc) list -> bool
val format : int -> int -> (int * mode * doc) list -> (sdoc -> 'a) -> 'b
val (^|) : doc -> doc -> doc
val (^+^) : doc -> doc -> doc
val unsnoc : 'a list -> 'b list * 'c
val punctuate : string -> doc list -> doc list
val doc_concat : doc -> doc list -> doc
val doc_join : ('a -> doc) -> 'a list -> doc
val vsep : doc list -> doc
val hsep : doc list -> doc
val binop : doc -> string -> doc -> doc
val trinop : doc -> string -> doc -> string -> doc -> doc
val parens : doc -> doc
val braces : doc -> doc
val brackets : doc -> doc
val arglist : doc list -> doc
val formal_list : string list -> doc
val cond : doc
val expr1 : doc
val expr2 : doc
val ifthen : doc -> doc -> doc -> doc
val doc : doc
val pretty : int -> doc -> string
val out_pretty : out_channel -> int -> doc -> unit