Racket (formerly PLT Scheme) is a programming language suitable for implementation tasks ranging from scripting to application development, including GUIs, Web services, etc. It includes the DrRacket programming environment, a virtual machine with a just-in-time compiler, tools for creating stand-alone executables, the Racket Web server, extensive libraries, documentation for both beginners and experts, and more. It supports the creation of new programming languages through a rich, expressive syntax system. Example languages include Typed Racket, ACL2, FrTime, and Lazy Racket.
Recent releases


Release Notes: Extflonums (80-bit fp) are now supported on some x86/x86_64 platforms. On Mac OS X, DrRacket and other apps are now signed. Tally Maze, a new game based an maze enumerations, was added. The Optimization Coach has been moved from the Racket distribution to the a package. The 'srfi/19' library is now compatible with the date structure type exported by 'racket/base'.


Release Notes: This is a bugfix release to address a flaw in 5.3.2 concerning interactions between the contour window and the syntax coloring.


Release Notes: New libraries: math, file/untar, file/untgz, file/unzip, and data/bit-vector. A new 'lazy-require' form. Extensions to 'racket/generic' and 'openssl'. A new package system (in beta). A more responsive GUI. auto-parens has been improved. Scribble can render markdown. Documentation cross-reference information is stored in an SQLite3 database. TR-friendly 'plot/typed' and delimited continuation.


Release Notes: This release features an improved 'case' form, a new 'racket/format' library, improved logging tools, extended 'for' forms, support for configuring bytecode paths using the PLTCOMPILEDROOTS environment variable, Check Syntax, which summarizes docs and runs continuously for '#lang' programs, DrRacket, which spell-checks strings, improvements to Typed Racket contracts, the inclusion of NaN in all floating-point types, a new 'cast' form for higher-order types, new ':query-type/args' and ':query-type/result' utilities, a new 'compatibility' collection for legacy functionality, and a port of FrTime to racket '#lang'. The 'planet' command line is deprecated: use 'raco planet'.


Release Notes: Submodules are nested module declarations that can be used independently from the enclosing module. Futures visualizer is a graphical profiling tool for parallel programs using futures. Optimization coach reports information about Racket's inlining optimizations. New libraries: JSON, images/flomap, and racket/generic. Racket/string is extended with simplified functions. The class form supports abstract methods. Contracts support interfaces, generics, prompts, continuation-marks, and structs. A new multi-line format for error messages. A new `ffi/com' library replaces MysterX. Completion code for zsh.
A massive parallel-processing computing platform that solves big data problems.