▼ |  | Unstable: May Change Without Warning

1 | Guidelines for Developing unstable Libraries
2 | Automata: Compiling State Machines
3 | Bytes
4 | Contracts
5 | Contracts for Macro Subexpressions
6 | Debugging
7 | Definitions
8 | Errors
9 | Futures
10 | Functions
11 | Hash Tables
12 | Interface-Oriented Programming for Classes
13 | Lazy Require
14 | Lists
15 | Logging
16 | Macro Testing
17 | Mark Parameters
18 | Match
19 | Open place expressions
20 | Options
21 | Parameter Groups
22 | Pretty-Printing
23 | Re-Contracting Identifiers
24 | Sandbox
25 | Sequences
26 | Strings
27 | Structs
28 | Struct Printing
29 | Syntax
30 | Temporal Contracts: Explicit Contract Monitors
31 | Unix Domain Sockets
32 | 2D Syntax

On this page:

pretty-format/ write
pretty-format/ display
pretty-format/ print
break-lines

5.92
top ← prev up next →

### 22`` Pretty-Printing

Carl Eastlund <cce@racket-lang.org>

This library is unstable; compatibility will not be maintained. See Unstable: May Change Without Warning for more information.

(require unstable/pretty) | package: unstable-pretty-lib

This module provides tools for pretty-printing.

> procedure (pretty-format/write x [columns]) → string?
> x : any/c
> | columns |  | : |  | (or/c exact-nonnegative-integer? 'infinity)
> |  |  | = |  | (pretty-print-columns)

This procedure behaves like pretty-format, but it formats values consistently with write instead of print.

Examples:
> > (struct both [a b] #:transparent)
> > (pretty-format/write (list (both (list 'a 'b) (list "a" "b"))))
> "(#(struct:both (a b) (\"a\" \"b\")))\n"

> procedure (pretty-format/display x [columns]) → string?
> x : any/c
> | columns |  | : |  | (or/c exact-nonnegative-integer? 'infinity)
> |  |  | = |  | (pretty-print-columns)

This procedure behaves like pretty-format, but it formats values consistently with display instead of print.

Examples:
> > (struct both [a b] #:transparent)
> > (pretty-format/display (list (both (list 'a 'b) (list "a" "b"))))
> "(#(struct:both (a b) (a b)))\n"

> procedure (pretty-format/print x [columns]) → string?
> x : any/c
> | columns |  | : |  | (or/c exact-nonnegative-integer? 'infinity)
> |  |  | = |  | (pretty-print-columns)

This procedure behaves the same as pretty-format, but is named more explicitly to describe how it formats values. It is included for symmetry with pretty-format/write and pretty-format/display.

Examples:
> > (struct both [a b] #:transparent)
> > (pretty-format/print (list (both (list 'a 'b) (list "a" "b"))))
> "(list (both '(a b) '(\"a\" \"b\")))\n"

> > > The subsequent bindings were added by Vincent St-Amour <stamourv@racket-lang.org>.

> procedure (break-lines s [columns]) → string?
> s : string?
> columns : exact-nonnegative-integer? = (pretty-print-columns)

Splits the string s into multiple lines, each of width at most columns, splitting only at whitespace boundaries.

Example:
> > (display (break-lines "This string is more than 80 characters long. It is 98 characters long, nothing more, nothing less."))
> This string is more than 80 characters long. It is 98 characters long,
> nothing more, nothing less.

top ← prev up next →