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.