Implementations
The definition of Racket aims for determinism and independence from its implementation. Racket currently has two main implementations:
-
The ‘CS’ implementation is the default implementation as of Racket version 8.0. This variant is called “CS” because it uses Chez Scheme as its core compiler and runtime system. See https://docs.racket-lang.org/reference/implementations.html
-
The BC implementation was the default implementation up until version 7.9, and uses platform-independent bytecode that is further compiled to machine code “just in time” as the code is loaded. See https://docs.racket-lang.org/reference/implementations.html
Both implementations support Linux, Windows and MacOS on a variety of architectures and are supported as at version 8.8 (2023).
In addition, there are experimental implementations:
- RacketScript is an experimental Racket to JavaScript (ES6) compiler. It allows programmers to use both JavaScript’s and Racket’s ecosystem and aims to make this interoperability as smooth as possible.
- Pycket is a Racket implementation generated using the RPython framework.