12 Input and Output

    12.1 Ports

      12.1.1 Encodings and Locales

      12.1.2 Managing Ports

      12.1.3 Port Buffers and Positions

      12.1.4 Counting Positions, Lines, and Columns

      12.1.5 File Ports

      12.1.6 String Ports

      12.1.7 Pipes

      12.1.8 Structures as Ports

      12.1.9 Custom Ports

      12.1.10 More Port Constructors, Procedures, and Events

        12.1.10.1 Port String and List Conversions

        12.1.10.2 Creating Ports

        12.1.10.3 Port Events

        12.1.10.4 Copying Streams

    12.2 Byte and String Input

    12.3 Byte and String Output

    12.4 Reading

    12.5 Writing

    12.6 The Reader

    12.7 The Printer

    12.8 Pretty Printing

      12.8.1 Basic Pretty-Print Options

      12.8.2 Per-Symbol Special Printing

      12.8.3 Line-Output Hook

      12.8.4 Value Output Hook

      12.8.5 Additional Custom-Output Support

    12.9 Reader Extension

      12.9.1 Readtables

      12.9.2 Reader-Extension Procedures

      12.9.3 Special Comments

    12.10 Printer Extension

    12.11 Serialization