Racket v9.1
Racket, the distinctive multi-paradigm programming language, has rolled out version 9.1, packed with technical refinements for its core and the DrRacket IDE. This update focuses on enhancing documentation, iteration control, and crucial performance alignment between its BC and CS implementations. For language design enthusiasts and functional programmers, this release offers significant quality-of-life and portability improvements.
The Lowdown
Racket, a distinctive multi-paradigm programming language celebrated for its language-oriented programming capabilities, has announced the release of version 9.1. This update introduces a series of refinements across its core language, development environment DrRacket, and various libraries, aiming to enhance developer experience, portability, and consistency.
- Documentation Improvements: Documentation can now be specialized by language family, improving navigation for specific language users like Rhombus.
- Enhanced Iteration Control: The
forform gains a#:on-length-mismatchspecifier for more robust loop handling. - DrRacket UI/UX Upgrades: The IDE sees improvements in color scheme selection and introduces "curved syntax arrows" for better visual displacement cues. The "Insert Large Letters" feature now matches comment syntax.
- Error Handling Portability:
exn-classify-errnomaps network and filesystem errors to POSIX-standard symbols for more portable code across platforms. - Performance Consistency: Racket BC's character operations, notably
eq?, now align with Racket CS behavior, with a minor performance trade-off for BC. - Structure Type Creation: The
make-struct-typeprocedure can now inherit the current inspector using a'currentflag, offering greater flexibility. - Build System Flexibility: Bundle configurations offer better control over shared object file location via
--enable-sofindflags. - System Information: The
system-typefunction provides new flags for reporting platform and shared-object-library conventions. - Legacy OpenSSL Access: The
openssl/legacylibrary enables access to older, insecure OpenSSL algorithms when specifically required. - Typed Racket Enhancements: Expected type propagation for keyword argument functions has been improved.
This v9.1 release, a testament to Racket's active community, underscores the project's ongoing commitment to refining its powerful language ecosystem and DrRacket IDE, offering meaningful updates for its dedicated user base. Users are reminded to run raco pkg migrate 9.0 after updating.