22.1 Command-Line Tools

► |  | The Racket Guide

1 | Welcome to Racket
2 | Racket Essentials
3 | Built-In Datatypes
4 | Expressions and Definitions
5 | Programmer-Defined Datatypes
6 | Modules
7 | Contracts
8 | Input and Output
9 | Regular Expressions
10 | Exceptions and Control
11 | Iterations and Comprehensions
12 | Pattern Matching
13 | Classes and Objects
14 | Units (Components)
15 | Reflection and Dynamic Evaluation
16 | Macros
17 | Creating Languages
18 | Performance
19 | Running and Creating Executables
20 | More Libraries
21 | Dialects of Racket and Scheme
22 | Command-Line Tools and Your Editor of Choice
| Bibliography
| Index

▼ | 22 | Command-Line Tools and Your Editor of Choice

22.1 | Command-Line Tools
22.2 | Emacs
22.3 | Vim

► | 22.1 | Command-Line Tools

22.1.1 | Compilation and Configuration: raco
22.1.2 | Interactive evaluation: XREPL
22.1.3 | Shell completion

On this page:

22.1.1`` Compilation and Configuration: raco
22.1.2`` Interactive evaluation: XREPL
22.1.3`` Shell completion

5.3.6
top ← prev up next →

#### 22.1`` Command-Line Tools

Racket provides, as part of its standard distribution, a number of command-line tools that can make racketeering more pleasant.

##### 22.1.1`` Compilation and Configuration: raco

The raco (short for “Racket command”) program provides a command-line interface to many additional tools for compiling Racket programs and maintaining a Racket installation.

- raco make compiles Racket source to bytecode.

  For example, if you have a program "take-over-world.rkt" and you’d like to compile it to bytecode, along with all of its dependencies, so that it loads more quickly, then run

  raco make take-over-the-world.rkt

  The bytecode file is written as "take-over-the-world_rkt.zo" in a "compiled" subdirectory; ".zo" is the file suffix for a bytecode file.

- raco setup manages a Racket installation, including manually installed packages.

  For example, if you create your own library collection called "take-over", and you’d like to build all bytecode and documentation for the collection, then run

  raco setup take-over

- raco planet manages packages that are normally downloaded automatically, on demand.

  For example, if you’d like to see a list of PLaneT packages that are currently installed, then run

  raco planet show

For more information on raco, see raco: Racket Command-Line Tools.

##### 22.1.2`` Interactive evaluation: XREPL

The Racket distribution includes XREPL (eXtended REPL), which provides everything you expect from a modern interactive environment. For example, XREPL provides an ,enter command to have a REPL that runs in the context of a given module, and an ,edit command to invoke your editor (as specified by the EDITOR environment variable) on the file you entered. A ,drracket command makes it easy to use your favorite editor to write code, and still have DrRacket at hand to try things out.

For more information about XREPL, see XREPL: eXtended REPL.

##### 22.1.3`` Shell completion

Shell auto-completion for bash and zsh is available in "collects/meta/contrib/completion/racket-completion.bash" and "collects/meta/contrib/completion/racket-completion.zsh", respectively. To enable it, just run the appropriate file from your .bashrc or your .zshrc.

The "meta" collection is only available in the Racket Full distribution. The completion scripts are also available online.

top ← prev up next →