links

The Links Programming Language
IN THIS PACKAGE
Module Links_core . PP
val strlen : string -> int
val nl : string
type doc =
| DocNil
| DocCons of doc * doc
| DocText of string
| DocNest of int * doc
| DocBreak of string
| 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 =
| SNil
| SText of string * sdoc
| SLine of int * sdoc
val sdocToString : sdoc -> string
val output : out_channel -> sdoc -> unit
type mode =
| Flat
| 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