Racket (programming language)
Lisp dialect / From Wikipedia, the free encyclopedia
Dear Wikiwand AI, let's keep it short by simply answering these key questions:
Can you list the top facts and stats about Racket (programming language)?
Summarize this article for a 10 year old
Racket is a general-purpose, multi-paradigm programming language. The Racket language is a modern dialect of Lisp and a descendant of Scheme. It is designed as a platform for programming language design and implementation.[9] In addition to the core Racket language, Racket is also used to refer to the family of programming languages[10] and set of tools supporting development on and with Racket.[11] Racket is also used for scripting, computer science education, and research.
Paradigm | Multi-paradigm: functional, imperative, logic, meta, modular, object-oriented, reflective |
---|---|
Family | Lisp |
Designed by | PLT Inc. |
Developer | PLT Inc. |
First appeared | January 28, 1995; 29 years ago (1995-01-28) |
Stable release | |
Typing discipline | Dynamic, static, strong |
Platform | x86, PowerPC, SPARC, MIPS, ARM |
OS | Cross-platform |
License | MIT or Apache 2.0[2] |
Filename extensions | .rkt[3] |
Website | racket-lang |
Major implementations | |
Racket, RacketScript Racket to JavaScript (ES6) compiler, Pycket a Racket implementation using RPython. | |
Dialects | |
Typed Racket, FrTime, Lazy Racket, Scribble | |
Influenced by | |
Eiffel,[4] Scheme | |
Influenced | |
Clojure,[5] Rust,[6][7] Scheme (R6RS)[8] |
The Racket platform provides an implementation of the Racket language (including a runtime system,[12] libraries, and compiler supporting several compilation modes: machine code, machine-independent, interpreted, and JIT) along with the DrRacket integrated development environment (IDE) written in Racket.[13] Racket is used by the ProgramByDesign outreach program, which aims to turn computer science into "an indispensable part of the liberal arts curriculum".[14][15]
The core Racket language is known for its extensive macro system which enables creating embedded and domain-specific languages, language constructs such as classes or modules, and separate dialects of Racket with different semantics.[16][17][18][19]
The platform distribution is free and open-source software distributed under the Apache 2.0 and MIT licenses.[20] Extensions and packages written by the community may be uploaded to Racket's package catalog.