On this page:
pretty-format/  write
pretty-format/  display
pretty-format/  print
break-lines
5.3.6

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.