Racket is a ProgrammingLanguage
(and implementation) descended from SchemeLanguage
, including an IDE and a large number of built in libraries and tools. Racket also includes several secondary language dialects including R5RS, R6RS, lazy and typed variants, and teaching languages.
Racket is the project formerly known as PltScheme
, and the programs DrScheme
(The IDE) and MzScheme
(The interpreter) are now DrRacket
and Racket. Details on the renaming are at http://racket-lang.org/new-name.html
and details on the language dialects at http://docs.racket-lang.org/guide/dialects.html
The Racket language is based on R5RS Scheme, but includes way more features in the base language:
This is on top of all expected features of SchemeLanguage
. See the TOC of the guide at http://docs.racket-lang.org/guide/index.html
Racket is presently very BatteriesIncluded?
. You can get a feature overview at the documentation index: http://docs.racket-lang.org/
Built-in libraries of interest (to me):
Racket has a recent story about a successful low-level language to high-level language rewrite. As of Racket 5.1, the graphics layer has been rewritten from 200,000 lines of CeePlusPlus
to 30,000 lines of RacketLanguage
on newer and better libraries. (http://blog.racket-lang.org/2010/12/racket-version-5.html
Performance-wise, Racket seems to currently (early 2011) be running only slightly slower (2-3x) than the statically typed languages like JavaLanguage
. This is according to the ComputerLanguageBenchmarksGame
. This places it faster than any other dynamic language on the list.