▼ |  | Unstable: May Change Without Warning

1 | Guidelines for Developing unstable Libraries
2 | Automata: Compiling State Machines
3 | Bytes
4 | Contracts
5 | Converting Values to Strings
6 | Contracts for Macro Subexpressions
7 | Debugging
8 | Definitions
9 | Filesystem
10 | Find
11 | Flonums
12 | Futures
13 | Functions
14 | Hash Tables
15 | Interface-Oriented Programming for Classes
16 | Lazy Require
17 | Lists
18 | Logging
19 | Mark Parameters
20 | Match
21 | Parameter Groups
22 | Pretty-Printing
23 | Sequences
24 | Strings
25 | Structs
26 | Syntax
27 | Temporal Contracts: Explicit Contract Monitors
28 | GUI Libraries

On this page:

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

Version: 5.3
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)

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 →