PLT Scheme is a Racket
Sure, it has parentheses, uses the keyword lambda, provides lexical scope, and emphasizes macros — but don't be fooled. PLT Scheme is no minimalist embodiment of 1930s math or 1970s technology. PLT Scheme is a cover for a gang of academic hackers who want to fuse cutting-edge programming-language research with everyday programming. They draw you in with the promise of a simple and polite little Scheme, but soon you'll find yourself using modules, contracts, keyword arguments, classes, static types, and even curly braces.
Racket is a Scheme
Racket is still a dialect of Lisp and a descendant of Scheme. The tools developed by PLT will continue to support R5RS, R6RS, the old mzscheme environment, Typed Scheme, and more. At the same time, instead of having to say “PLT's main variant of Scheme,” programmers can now simply say “Racket” to refer to the specific descendant of Scheme that powers PLT's languages and libraries.
Anticipated Questions

The Scheme part of the name PLT Scheme is misleading, and it is often an obstacle to explaining and promoting PLT research and tools.

For example, when you type “scheme” into Google, the first hit is a Wikipedia entry written from an R5RS perspective. That's appropriate for a Wikipedia page on Scheme, but it's not a good introduction to PLT Scheme. As long as we call our language Scheme, we struggle to explain our language, and we are usually forced to start the explanation with a disclaimer. At the same time, to the degree that the PLT community has defined Scheme through market share, publications, and educational outreach, we interfere with everyone else's ability to define Scheme — and many have a valid claim to that ability.

By switching to Racket, we expect to resolve this communication problem.

DrScheme becomes DrRacket. The mzscheme executable becomes racket, and mred becomes gracket (following a common convention for “GUI racket”). We change each #lang scheme to #lang racket in the Racket distribution, although #lang scheme will be supported for backward compatibility. The site will be replaced by The plt-scheme mailing list becomes the racket mailing list (

The Racket site and documentation will note that Racket is a descendant of Scheme, but most current uses of the word “Scheme” (which implicitly mean PLT Scheme) will be replaced by “Racket.”

Racket programmers are Racketeers, of course.

There will be little difference between the current #lang scheme and the new #lang racket, but the latter will become the preferred form.

In addition, PLT will continue to support standards such as R5RS and R6RS. The transition from/to various Scheme languages to/from Racket will be as easy/difficult as before.

Old executables, web sites, mailing addresses, and module names will forward to the new ones. We will work to make the transition as painless as possible and to preserve old references for as long as possible.

If you felt comfortable claiming that PLT Scheme was Scheme before, then you can still say that you want to teach with Scheme, even if the environment is called DrRacket. Racket is a descendant of Scheme, just like PLT Scheme was.

Yes. Nevertheless, we think the long-term benefit of a new name will outweigh the short-term difficulties of changing.

Some of us tried that, informally. It felt awkward, because we use PLT to refer to a group of people, and because we have used PLT as a modifier for Scheme and other nouns. Switching the language name from one noun to another sounds better, it's clearer, and it's easier to explain.

Thank you for the suggestion. The name Racket meets some basic criteria: it isn't used already, it's easy to pronounce and spell, and it has a vague connection to the word “scheme.” Mostly, though, we just like it.