HN
Today

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.

31
Score
0
Comments
#6
Highest Rank
5h
on Front Page
First Seen
Feb 25, 5:00 PM
Last Seen
Feb 25, 9:00 PM
Rank Over Time
611132228

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 for form gains a #:on-length-mismatch specifier 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-errno maps 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-type procedure can now inherit the current inspector using a 'current flag, offering greater flexibility.
  • Build System Flexibility: Bundle configurations offer better control over shared object file location via --enable-sofind flags.
  • System Information: The system-type function provides new flags for reporting platform and shared-object-library conventions.
  • Legacy OpenSSL Access: The openssl/legacy library 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.