Racket v7.1
* Although it is still not part of this release, the development of
Racket on Chez Scheme continues. We still hope and expect that
Racket-on-Chez will be ready for production use later in the v7.x
series, perhaps mid-2019.
* Trackpad scrolling works in more reliably in some Windows and
Linux/Unix environments.
* New users of DrRacket will open files into new tabs (by default).
* The teaching languages support the unicode character for lambda.
The teaching unit test framework no longer stops testing when a tested
expression signals an error.
* A refinement to error reporting for compile-time code helps clarify
when an syntax error is likely due to an earlier unbound identifier
(because the unbound-identifier error otherwise must be delayed, in
case a definition appears later).
* A `++lang <lang>` flag for `raco exe` simplifies the creation of
executables that dynamically load `#lang <lang>` modules at run
time.
* Typed Racket adds types for mutable and immutable vectors:
`(Mutable-Vectorof T)`, `(Immutable-Vectorof T)`, `(Immutable-Vector T)`,
and `(Mutable-Vector T)`. The new types are subtypes of the existing
`Vectorof` and `Vector` types. The return types of a few standard vector
functions use the new, more specific, types. When an immutable vector
flows from untyped code to typed code, Typed Racket may be able to check
the vector with a flat contract.
* The hashing functions `sha1-bytes`, `sha224-bytes`, and
`sha256-bytes` are added to `racket/base`.
* `curry` from racket/function supports currying functions with keyword
arguments, and `procedure-arity` and `procedure-keywords` return the
correct result when applied to curried functions.
* Slideshow supports widescreen mode (finally!). Implement widescreen
slides using `slideshow/widescreen` or provide the `--widescreen`
command-line flag to Slideshow. Combine `--widescreen` with
`--save-aspect` to make widescreen mode the default in your
installation.
* Racket supports FreeBSD/aarch64.
* Various improvements and additions were made to the DeinProgramm
teaching languages and their documentation.
The following people contributed to this release:
Akihide Nano, Alex Harsányi, Alex Knauth, Alexander McLin, Alexis King,
Andrew Kent, Ben Greenman, Bruno Cuconato, Chongkai Zhu, Claes Wallin,
David Benoit, Gary F. Baumgartner, Gustavo Massaccesi, Jay McCarthy,
Jens Axel Søgaard, Jérôme Martin, John Clements, Jordan Johnson, Kimball
Germane, Leif Andersen, Matthew Butterick, Matthew Flatt, Matthias
Felleisen, Mike Sperber, Milo Turner, myfreeweb, Oling Cat, Paulo Matos,
Philip McGrath, Robby Findler, Roman Klochkov, Ryan Culpepper, Sam
Caldwell, Sam Tobin-Hochstadt, Shu-Hung You, Stephen Chang, Tong-Kiat
Tan, Vincent St-Amour, Winston Weinert, and yjqww6.
|