* Typed Racket supports refinement types and dependent function types.
Previously an experimental feature, refinement types allow types to
describe more interesting properties of values, especially integers.
For example, this type shows that the `max` function always produces a
number at least as big as its inputs:
`(-> ([x : Integer] [y : Integer])
(Refine [z : Integer] (and (>= z x) (>= z y))))`
* DrRacket's Program Contour is significantly more efficient; using it
no longer hurts DrRacket's interactivity.
* The `web-server/formlets` library produces formlets that are
serializable, facilitating dynamic uses of formlets in stateless #lang
web-server servlets. The new `web-server/formlets/stateless` and
`web-server/formlets/unsafe` libraries provide additional support with
the same API.
* The `db` library supports the Cassandra database.
The following people contributed to this release:
Alex Knauth, Andrew Gwozdziewycz, Andrew Kent, Asumu Takikawa, Ben
Greenman, Ben Noordhuis, Carlo Dapor, Daniel Feltey, David Christiansen,
David Van Horn, Eric Dobson, Gustavo Massaccesi, Harold Carr, Jack
Firth, Jay McCarthy, Jeannie Tran, Jens Axel Søgaard, jgreco, John
Clements, Jordan Johnson, Justin Slepak, Leandro Facchinetti, Leif
Andersen, Matthew Butterick, Matthew Flatt, Matthias Felleisen, Michael
Ballantyne, Milo Turner, Nadeem Abdul Hamid, Philip McGrath, rain, Robby
Findler, Royall Spence, Ryan Culpepper, Ryan Davis, Sam Tobin-Hochstadt,
Shu-Hung You, Spencer Florence, Stephen Chang, Vincent St-Amour, WarGrey
Gyoudmon Ju, and Weng Shiwei.