Racket 8.13 released with new libraries, enhanced hash functions, and Unicode 15.1 support
Programming language Racket has released version 8.13 with several notable updates. The new version introduces racket/treelist and racket/mutable-treelist libraries, providing list-like containers that support many operations in effectively constant time, including appending and extracting sub-lists without mutating the original list. This update also includes new functions hash-filter-keys and hash-filter-values for filtering hashes based on predicates applied to keys or values.
Other enhancements in Racket 8.13 include the vector-extend and vector-extend* functions, which allow for pre-populating the prefix of a newly allocated vector using elements from an existing vector. Command-line tools such as raco setup, package update, and package installation now use terminal control to display progress more compactly and with a progress bar. Additionally, Racket has adopted Unicode 15.1 for character and string operations, improving compatibility with the latest standards.
The update also brings machine-specific cross-module optimization for better support in static generation of foreign-function bindings. Furthermore, the scribble/acmart language now uses version 2.01, addressing errors related to the hyperref package in some LaTeX installations. These improvements aim to enhance usability, performance, and compatibility across various development environments.
