Previously known as PLT Scheme, Racket is one of the languages belonging to the Lisp-Scheme family. It is a multi-paradigm and general purpose programming language.

It was designed in such a way that it could act as a platform for language designing, creation and implementation. There is a wide range of uses for Racket, including scripting, research, computer science education and general-purpose programming.

History of Racket

PLT was founded by Matthias Felleisen in the 1990s. Originally, it was a research group but it soon turned into a project aimed at producing pedagogic materials, such as lectures and exercises for new programmers. In January 1995, it was decided by the group that they should create a Scheme-based pedagogic programming environment.

Several free systems, such as MrEd (the first virtual machine for Racket) and wxWidgets were gathered by Matthew Flatt. As years passed, Flatt, along with a team including Cormac Flanagan, Robby Findler and Shriram Krishnamurthi successfully created DrScheme, a programming environment for new programmers, as well as a research environment to do with soft typing. DrScheme’s main supported language was known as PLT Scheme.

Over the course of history, several versions of the PLT Scheme were released. The details of some of these versions, along with the general changes brought about by them are mentioned below.

  • Version 42 brought a first-class module system, known as units into the language, allowing for large scale software development.
  • The most popular version of that time was Version 53, which resulted in extensive work on the language and opened the doors for Version 100, which would be equivalent to a 1.0 launch.
  • Afterwards, another major revision, known as the Version 200, came with a new built in module system which could cooperate with macros. Among other things, this new feature ensures the separation of run-time and compile-time computations.
  • Next came the Version 300, introducing support for Unicode and foreign libraries and enhancements to the class system. Later, a JIT compiler and a switch to built-in generational garbage collection were added into the 300 series, leading to further improvements in the performance of the language.
  • The next release came with a more conventional numbering sequence name- it was known as the Version 4.0.
  • PLT was renamed as Racket on 7th June 2010 which was accompanied by the release of the Version 5.0, followed by Versions 5.2, 5.3 and 5.3.1 later on, each one bringing some changes to the language with itself.
Job profiles that require this skill