raco: Racket Command-Line Tools

The raco program supports various Racket tasks from a command line. The first argument to raco is always a specific command name. For example, raco make starts a command to compile a Racket source module to bytecode format.

The set of commands available through raco is extensible. Use raco help to get a complete list of available commands for your installation. This manual covers the commands that are available in a typical Racket installation.

    1 raco make: Compiling Source to Bytecode

      1.1 Bytecode Files

      1.2 Dependency Files

      1.3 API for Making Bytecode

      1.4 API for Parallel Builds

      1.5 Compilation Manager Hook for Syntax Transformers

      1.6 Compiling to Raw Bytecode

    2 raco link: Library Collection Links

      2.1 API for Collection Links

    3 raco exe: Creating Stand-Alone Executables

      3.1 API for Creating Executables

        3.1.1 Executable Creation Signature

        3.1.2 Executable Creation Unit

        3.1.3 Finding the Racket Executable

      3.2 Installation-Specific Launchers

        3.2.1 Creating Launchers

        3.2.2 Launcher Path and Platform Conventions

        3.2.3 Launcher Configuration

        3.2.4 Launcher Creation Signature

        3.2.5 Launcher Creation Unit

    4 raco distribute: Sharing Stand-Alone Executables

      4.1 API for Distributing Executables

      4.2 API for Bundling Distributions

    5 raco pack: Packing Library Collections

      5.1 Format of ".plt" Archives

      5.2 API for Packing

    6 raco unpack: Unpacking Library Collections

      6.1 Unpacking API

    7 raco planet: Automatic Package Distribution

    8 raco pkg: Package Management

    9 raco setup: Installation Management

      9.1 Running raco setup

        9.1.1 Controlling raco setup with "info.rkt" Files

      9.2 "info.rkt" File Format

      9.3 API for Installation

        9.3.1 raco setup Unit

        9.3.2 Options Unit

        9.3.3 Options Signature

      9.4 API for Installing ".plt" Archives

        9.4.1 Non-GUI Installer

        9.4.2 GUI Installer

        9.4.3 GUI Unpacking Signature

        9.4.4 GUI Unpacking Unit

      9.5 API for Finding Installation Directories

      9.6 API for Reading "info.rkt" Files

      9.7 API for Relative Paths

        9.7.1 Representing paths relative to "collects"

        9.7.2 Displaying paths relative to a common root

      9.8 API for Cross-References for Installed Manuals

    10 raco decompile: Decompiling Bytecode

      10.1 API for Decompiling

      10.2 API for Parsing Bytecode

      10.3 API for Marshaling Bytecode

      10.4 Bytecode Representation

        10.4.1 Prefix

        10.4.2 Forms

        10.4.3 Expressions

        10.4.4 Syntax Objects

    11 raco demod: Demodularizing Programs

    12 raco ctool: Working with C Code

      12.1 Compiling and Linking C Extensions

        12.1.1 API for 3m Transformation

      12.2 Embedding Modules via C

      12.3 API for Raw Compilation

        12.3.1 Bytecode Compilation

        12.3.2 Loading Compiler Support

        12.3.3 Options for the Compiler

        12.3.4 The Compiler as a Unit


 Main Compiler Unit

 Options Unit

    13 raco test: Run tests

    14 raco docs: Documentation Search

    15 raco expand: Macro Expansion

    16 raco scribble: Building Documentation

    17 Adding a raco Command

      17.1 Command Argument Parsing