(index ("doc?" 0) ("doc:empty?" 192) ("doc:empty" 334) ("doc:cons" 437) ("doc:text" 587) ("doc:nest" 716) ("doc:break" 909) ("doc:break-with" 1017) ("doc:group" 1187) ("doc:concat" 1316) ("doc:binop" 1434) ("doc:ifthen" 1836) ("doc:list" 2334) ("doc:block" 2798) ("doc:letblk" 3183) ("doc:display" 3646) ("doc:format" 3763) ("sdoc?" 3932) ("sdoc->string" 4079))
(def (sig (procedure "doc?:: OBJECT -> BOOL" (id doc?))) (p "A predicate that returns true if the given argument is a pretty-printer object constructed with the procedures in this library."))
(def (sig (procedure "doc:empty?:: DOC -> BOOL" (id doc:empty?))) (p "Returns true if the given document object is empty, false otherwise."))
(def (sig (procedure "doc:empty:: () -> DOC" (id doc:empty))) (p "Returns an empty document object."))
(def (sig (procedure "doc:cons:: DOC * DOC -> DOC" (id doc:cons))) (p "Returns a document object that contains the concatenated pair of documents."))
(def (sig (procedure "doc:text:: STRING -> DOC" (id doc:text))) (p "Returns a document object that contains the given string."))
(def (sig (procedure "doc:nest:: INDENT * DOC -> DOC" (id doc:nest))) (p "Returns an inner document group that contains the given document, which will be broken up at the given indentation."))
(def (sig (procedure "doc:break:: () -> DOC" (id doc:break))) (p "Returns an optional line break object."))
(def (sig (procedure "doc:break-with:: STRING -> DOC" (id doc:break-with))) (p "Returns an optional line break object that uses the given string to delimit the break."))
(def (sig (procedure "doc:group:: DOC -> DOC" (id doc:group))) (p "Returns a document group that contains the given document."))
(def (sig (procedure "doc:concat:: LST -> DOC" (id doc:concat))) (p "Concatenates the documents in the given list."))
(def (sig (procedure "doc:binop:: INDENT -> LEFT * OPER * RIGHT -> DOC" (id doc:binop))) (p "A parameterizable formatter for infix binary operation expressions. Given an indentation level " (tt "INDENT") ", returns a procedure that takes a left operand (document object), operator (string), and a right operand (document object) and returns a document object that contains the formatted expression."))
(def (sig (procedure "doc:ifthen:: INDENT * IF * THEN * ELSE -> COND * IFTRUE * IFFALSE -> DOC" (id doc:ifthen))) (p "A parameterizable formatter for if-then-else expressions. Given an indentation level " (tt "INDENT") ", and document objects that represent " (tt "if,then,else") " keywords, respectively, returns a procedure that takes a condition (document object), true branch (string), and false branch (document object) and returns a document object that contains the formatted expression."))
(def (sig (procedure "doc:list:: INDENT * ELEM->DOC * SEP -> LST -> DOC" (id doc:list))) (p "A parameterizable formatter for list expressions. Given an indentation level " (tt "INDENT") ", a procedure that creates document object representations of the elements of the list, and a document object that represents the list element separator, returns a procedure that takes a list of elements and returns a document object that contains the formatted expression."))
(def (sig (procedure "doc:block:: INDENT * OPEN * CLOSE -> BODY -> DOC" (id doc:block))) (p "A parameterizable formatter for block expressions. Given an indentation level " (tt "INDENT") ", and document objects that represent block open and close markers, returns a procedure that takes a document object and returns a new document object that encloses the given object in a block."))
(def (sig (procedure "doc:letblk:: INDENT * LET * IN * END -> E1 * E2 -> DOC" (id doc:letblk))) (p "A parameterizable formatter for let expressions (local binding). Given an indentation level " (tt "INDENT") ", and document objects that represent " (tt "let,in,end") " keywords, respectively, returns a procedure that takes bindings block (document object) and body block (document object) and returns a document object that contains the formatted expression."))
(def (sig (procedure "doc:display:: WIDTH * DOC -> UNDEFINED" (id doc:display))) (p "Formatted display procedure."))
(def (sig (procedure "doc:format:: WIDTH * DOC -> SDOC" (id doc:format))) (p "A procedure that generates simple document representation of the given document object."))
(def (sig (procedure "sdoc?:: OBJECT -> BOOL" (id sdoc?))) (p "A predicate that returns true if the given argument is a simple document object."))
(def (sig (procedure "sdoc->string:: SDOC -> STRING" (id sdoc->string))) (p "Generates string representation of the given simple document object."))
