24.1 Command-Line Tools
Racket provides, as part of its standard distribution, a number of command-line tools that can make racketeering more pleasant.
24.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 pkg manages packages that can be installed through the Racket package manager.
For example, to see the list of installed packages run:
raco pkg show
To install a new package named <package-name> run:
raco pkg install <package-name>
See Package Management in Racket for more details about package management.
For more information on raco, see raco: Racket Command-Line Tools.
24.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.
24.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.