On this page:
raco:   Racket Command-Line Tools

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 Running raco make

      1.2 Bytecode Files

      1.3 Dependency Files

      1.4 API for Making Bytecode

      1.5 API for Parallel Builds

      1.6 Compilation Manager Hook for Syntax Transformers

      1.7 API for Simple Bytecode Creation

      1.8 API for Bytecode Paths

      1.9 Compiling to Raw Bytecode

      1.10 API for Raw Compilation

        1.10.1 Bytecode Compilation

        1.10.2 Recognizing Module Suffixes

        1.10.3 Loading Compiler Support

        1.10.4 Options for the Compiler

        1.10.5 The Compiler as a Unit


 Main Compiler Unit

 Options Unit

      1.11 API for Reading Compilation Dependencies

    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

      2.3 Mac OS Dynamic Library Paths

    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 Package Dependency Checking

        6.5.1 Declaring Build-Time Dependencies

        6.5.2 How Dependency Checking Works

      6.6 API for Setup

        6.6.1 raco setup Unit

        6.6.2 Options Unit

        6.6.3 Options Signature

        6.6.4 Setup Start Module

      6.7 API for Installing ".plt" Archives

        6.7.1 Non-GUI Installer

      6.8 API for Finding Installation Directories

      6.9 API for Reading "info.rkt" Files

      6.10 API for Relative Paths

        6.10.1 Representing Collection-Based Paths

        6.10.2 Representing Paths Relative to "collects"

        6.10.3 Representing Paths Relative to the Documentation

        6.10.4 Displaying Paths Relative to a Common Root

      6.11 API for Collection Names

      6.12 API for Collection Searches

      6.13 API for Platform Specifications

      6.14 API for Cross-Platform Configuration

      6.15 API for Cross-References for Installed Manuals

      6.16 API for Materializing User-Specific Documentation

      6.17 Layered Installations

      6.18 Tethered Installations

    7 raco decompile: Decompiling Bytecode

      7.1 Racket CS Decompilation

      7.2 Racket BC Decompilation

      7.3 API for Decompiling

      7.4 API for Parsing Bytecode

      7.5 API for Marshaling Bytecode

      7.6 Bytecode Representation

        7.6.1 Prefix

        7.6.2 Forms and Inline Variants

        7.6.3 Expressions

      7.7 Machine-Independent Linklets

    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

    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 read: Reading and Pretty-Printing

    17 raco scribble: Building Documentation

    18 Adding a raco Command

      18.1 Command Argument Parsing

      18.2 Accessing raco Commands

    19 Installation Configuration and Search Paths