► |  | 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 | Bash completion

On this page:

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

Version: 5.3
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`` Bash completion

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

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

top← prev up next →