On this page:
raco:   Racket Command-Line Tools
6.1

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 API for Simple Bytecode Creation

      1.7 API for Bytecode Paths

      1.8 Compiling to Raw Bytecode

    2 raco exe: Creating Stand-Alone Executables

      2.1 API for Creating Executables

        2.1.1 Executable Creation Signature

        2.1.2 Executable Creation Unit

        2.1.3 Finding the Racket Executable

      2.2 Installation-Specific Launchers

        2.2.1 Creating Launchers

        2.2.2 Launcher Path and Platform Conventions

        2.2.3 Launcher Configuration

        2.2.4 Launcher Creation Signature

        2.2.5 Launcher Creation Unit

    3 raco distribute: Sharing Stand-Alone Executables

      3.1 API for Distributing Executables

      3.2 API for Bundling Distributions

    4 raco planet: Automatic Package Distribution

    5 raco pkg: Package Management

    6 raco setup: Installation Management

      6.1 Running raco setup

      6.2 Installing ".plt" Archives

      6.3 Controlling raco setup with "info.rkt" Files

      6.4 "info.rkt" File Format

      6.5 API for Setup

        6.5.1 raco setup Unit

        6.5.2 Options Unit

        6.5.3 Options Signature

      6.6 API for Installing ".plt" Archives

        6.6.1 Non-GUI Installer

      6.7 API for Finding Installation Directories

      6.8 API for Reading "info.rkt" Files

      6.9 API for Relative Paths

        6.9.1 Representing Collection-Based Paths

        6.9.2 Representing Paths Relative to "collects"

        6.9.3 Displaying Paths Relative to a Common Root

      6.10 API for Collection Names

      6.11 API for Platform Specifications

      6.12 API for Cross-References for Installed Manuals

    7 raco decompile: Decompiling Bytecode

      7.1 API for Decompiling

      7.2 API for Parsing Bytecode

      7.3 API for Marshaling Bytecode

      7.4 Bytecode Representation

        7.4.1 Prefix

        7.4.2 Forms

        7.4.3 Expressions

        7.4.4 Syntax Objects

    8 raco demod: Demodularizing Programs

    9 raco link: Library Collection Links

      9.1 API for Collection Links

    10 raco pack: Packing Library Collections

      10.1 Format of ".plt" Archives

      10.2 API for Packing

    11 raco unpack: Unpacking Library Collections

      11.1 Unpacking API

    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

          12.3.4.1 Signatures

          12.3.4.2 Main Compiler Unit

          12.3.4.3 Options Unit

    13 raco test: Run tests

      13.1 Test Configuration by Submodule

      13.2 Test Configuration by "info.rkt"

      13.3 Responsible-Party and Varying-Output Logging

    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

    18 Installation Configuration and Search Paths