▼ |  | 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 | 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 | Macro Testing
20 | Mark Parameters
21 | Match
22 | Open place expressions
23 | Options
24 | Parameter Groups
25 | Pretty-Printing
26 | Re-Contracting Identifiers
27 | Sandbox
28 | Sequences
29 | Strings
30 | Structs
31 | Struct Printing
32 | Syntax
33 | Temporal Contracts: Explicit Contract Monitors
34 | Unix Domain Sockets
35 | 2D Syntax
36 | GUI Libraries

On this page:

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

5.3.6
top ← prev up next →

### 25`` 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 →