Racket version 8.9
Racket version 8.9 is now available from https://download.racket-lang.org/
What's new
As of this release:
-
The HtDP student languages come with checked signatures. Programmers can express signatures in a formal notation, and these signatures are checked at run-time (in a performance-neutral manner). The addition of this formal language associates meaning with several names that had no meaning before. — This feature is experimental, and we may amend or retract it later. (cf. 2 Beginning Student with List Abbreviations)
-
Switching into and out of dark mode is handled better on Mac OS and Linux.
-
Racket uses Unicode 15.0 for character and string operations.
-
The
racket/hash-code
library provides support for combining hash codes. (cf. 4.1 Equality) -
A language module can have a
configure-expand
submodule that is dynamically required to configure a parameterization before expansion of another module. (cf. 18.1 Running Racket or GRacket) -
stream-cons
supports multiple values. (cf. 4.16.2 Streams) -
unit/c
subcontracts may depend on bindings from any imported or exported signature. Additionally, bindings’ contracts are enforced within subcontracts, and violations blame the contract itself (like->i
). (cf. 7.9 Unit Contracts) -
racket/class
provides thedynamic-instantiate
procedure for instantiating a class with a dynamic list of by-name initialization arguments. (cf. 6.3 Creating Objects) -
TCP output block buffering implies TCP_NODELAY. (cf. 15.3.1 TCP)
-
Submodules and Check Syntax require arrows work better together.
-
Typed Racket's shallow check generation is improved.
-
Many other improvements and bug fixes are included!
Thank you
Thank you to the people who contributed to this release:
Alex Harsányi, Alex Knauth, Alexis King, Ben Greenman, Bert De Ketelaere, Bob Burger, Bogdan Popa, Cadence Ember, D. Ben Knoble, Denis Hirn, dr-neptune, Eli Barzilay, Fred Fu, Gustavo Massaccesi, J. Ryan Stinnett, Jack Firth, Jamie Taylor, Jesse Alama, Jin-Ho King, John Clements, Lazerbeak12345, Mark Hedlund, Masaya Tojo, Matthew Flatt, Matthias Felleisen, Mike Sperber, Philip McGrath, Robby Findler, Ryan Culpepper, Sam Phillips, Sam Tobin-Hochstadt, sarna, Shu-Hung You, Sorawee Porncharoenwase, Stephen De Gabrielle, sxzzsf, Tom Price, Yukai Chou, and Zach O'Brien.
Download
Official installers for Racket on many platforms are available from https://download.racket-lang.org/.
Volunteer maintainers are are working hard, but there may be a short delay before Racket is available via your preferred package manager.
Getting started with Racket 8.9
-
If you are new to Racket try our Getting started guide.
-
If you are upgrading from 8.8 you may want to run
raco pkg migrate 8.8
after you Configure Command Line for Racket
Questions and feedback about the release are welcome here on Discourse.