Programming language · 1994

Racket

Functional and contractual programming language, with strong, dynamic and reflective typing, derived from Scheme.

Official site ›
Racket logo
Chez Scheme, RacketWritten in
1994First released
Matthias FelleisenDeveloper
dynamicTyping
GNU Lesser General Public License, Apache Software License 2.0, and MIT LicenseLicense
Built fromInfluenced Racket Chez SchemeRacketSchemeCommon LispJulia
RuntimeCompilerInfluence

What is Racket written in?

The Racket compiler is written in Racket (documented). Its runtime is implemented in Chez Scheme (well-documented). Racket is self-hosting.

What Racket is used for

Racket is a descendant of Scheme built for creating new programming languages, plus teaching and scripting. It ships with the DrRacket environment and powerful macro system.

Notable software: the "How to Design Programs" curriculum and many domain-specific languages built on Racket.

Quick Facts

Developer
Matthias Felleisen
First released
1994
Typing
dynamic
License
GNU Lesser General Public License, Apache Software License 2.0, and MIT License
Filename extension
.rkt, .rktl, .rktd, .plt, .ss, .scm
Website
racket-lang.org

About Racket

Racket is a functional and contractual programming language, with strong, dynamic and reflective typing, derived from Scheme. It is a dynamically typed and garbage-collected language that compiles to bytecode that runs on a virtual machine. It supports functional and multi-paradigm programming. Compiling to bytecode for a virtual machine is the same model the JVM and .NET use: the VM, not the CPU, interprets or JIT-compiles the bytecode.

Racket first appeared in 1994. Development is led by Matthias Felleisen. Racket is now used mainly in specialized niches and by dedicated communities.

How Racket is implemented

In the Language Lineage dataset, Racket is self-hosting, so its own compiler is written in Racket itself and its runtime is implemented in Chez Scheme. Reaching self-hosting, where a language is mature enough to compile itself, is a milestone that proves the language can handle a large, real-world program.

Racket in the language family tree

Racket drew on ideas from Scheme and Common Lisp and went on to influence Julia.

Sources: Wikipedia · Wikidata · Official site

Frequently Asked Questions

What language is Racket written in?
Racket is primarily implemented in Chez Scheme and Racket. See the implementation section above for details and source references.
What languages influenced Racket?
Racket was influenced by Scheme, Common Lisp among others. See the influence section above for the full list.
Which languages did Racket influence?
Racket influenced Julia among others.
Is Racket self-hosting?
Yes, Racket is self-hosting, its compiler can compile itself.
When was Racket first released?
Racket was first released in 1994.

Evidence Sources

Discover More

Embed this graph

Paste this iframe into any HTML page to show the Racket relationship graph.

<iframe src="https://www.languagelineage.org/embed?lang=racket" width="100%" height="500" loading="lazy" style="border:0" title="Racket relationship graph"></iframe>

Please attribute the visualization to Language Lineage and link to the Racket source record.

Explore Racket in Graph →