23 Dialects of Racket and Scheme🔗

We use “Racket” to refer to a specific dialect of the Lisp language, and one that is based on the Scheme branch of the Lisp family. Despite Racket’s similarity to Scheme, the #lang prefix on modules is a particular feature of Racket, and programs that start with #lang are unlikely to run in other implementations of Scheme. At the same time, programs that do not start with #lang do not work with the default mode of most Racket tools.

“Racket” is not, however, the only dialect of Lisp that is supported by Racket tools. On the contrary, Racket tools are designed to support multiple dialects of Lisp and even multiple languages, which allows the Racket tool suite to serve multiple communities. Racket also gives programmers and researchers the tools they need to explore and create new languages.

    23.1 More Rackets

    23.2 Standards

      23.2.1 R5RS

      23.2.2 R6RS

    23.3 Teaching