Download Racket 7.0
Racket is a development language with which other development languages can be developed. In addition, you can simply develop in Racket itself. It was previously known as the PLT Scheme and comes from the Lisp-Scheme family. For the background we refer to the manifesto, written under the direction of Matthias Felleisen. The developers have released version 7.0 of Racket with the following announcement:
Racket v7.0
Racket version 7.0 includes substantial internal changes toward the long-term goal of replacing Racket’s current runtime system and supporting multiple runtime systems. We do not expect Racket users to see a big difference between Racket v6.12 and Racket v7.0, but since the internals differ significantly, a major-version bump helps track the change.
Version 7.0 replaces about 1/8 of the core v6.12 implementation with a new macro expander that bootstraps itself. The expander turns out to be about 40% of the new code needed to replace Racket’s core with Chez Scheme. Most of the other 60% is also implemented, but it is not included in this release; we hope and expect that Racket-on-Chez will be ready for production use later in the v7.x series.
- The syntax (#’) form supports new template subforms: ~@ for splicing and ~? for choosing between subtemplates based on whether pattern variables have “absent” value (from an ~optional pattern in syntax-parse, for example). The syntax/parse/experimental/template library, where these features originated, re-exports the new forms under old names for compatibility.
- On Windows, an –embed-dlls flag for raco exe creates a truly standalone, single-file “.exe” that embeds Racket’s DLLs.
- DrRacket’s “Create Executable” option for the teaching language (Beginner Student, etc.) uses –embed-dlls to create single-file, standalone “.exe”s on Windows.
- Typed Racket’s support for prefab structs is significantly improved. This supports using prefab structs more polymorphically, and fixes significant bugs in the current implementation. Programs which currently use predicates for prefab structs on unknown data may need to be revised, since previous versions of Typed Racket allowed potentially buggy programs to type check. See Typed Racket RFC 1 and this blog post for more details on this change and on how to fix programs affected by it.
- Typed Racket supports #:rest-star in the ->* type constructor, which allows function types to specify rest arguments with more complex patterns of types, such as the hash function.
- Interactive overlays can be added to plots produced by plot-snip. This allows constructing interactive plots or displaying additional information when the mouse hovers over the plot area.
- racket/plot provides procedures for displaying candlestick charts for use in financial time series analysis. Added contract-equivalent?, a way check if two contracts are mutually stronger than each other without the exponential slowdown that two calls to contract-stronger? brings.
- Lazy Racket supports functions with keyword arguments.
Feedback Welcome
Version number | 7.0 |
Release status | Final |
Operating systems | Windows 7, Linux, BSD, macOS, Solaris, UNIX, Windows Server 2008, Windows Server 2012, Windows 8, Windows 10, Windows Server 2016 |
Website | Racket |
Download | |
License type | Conditions (GNU/BSD/etc.) |