Racket v9.3
Racket, the 'language-oriented programming language,' has released version 9.3, bringing a host of technical enhancements and quality-of-life improvements. This update refines tooling, package management, and developer experience, making the platform more robust for both seasoned users and new learners. Its appeal on Hacker News stems from the community's appreciation for innovative language design and continuous improvement in niche, powerful programming ecosystems.
The Lowdown
The Racket project has officially announced the release of Racket v9.3, a significant update focusing on developer experience, tooling, and core language capabilities. This release demonstrates a commitment to refining the ecosystem, from documentation generation to intricate FFI mechanisms.
Key highlights of Racket v9.3 include:
- The
raco setupcommand can now generate markdown documentation via a new--doc-markdownoption. - Teaching languages (BSL, ISL+, DeinProgram) have achieved parity with those selected in the Language dialog, becoming the recommended choice for educational use.
- DrRacket's background expansion now disables errortrace annotations, leading to faster syntax checking.
- The
raco pkg installcommand gains new options like--adjacent-deps,--destdir,--attach, and a refined--skip-installedfor greater configuration flexibility. - A
define-runtime-libmechanism, similar todefine-runtime-path, is introduced inffi/unsafe/runtime-libto help locate libraries relative to source files. - The
prompt-tag/ccontract generator no longer checkscall/ccif the option is absent, andimpersonate-prompt-tagnow accepts an additional argument for composable continuations. - The
error-syntax->srcloc-handlerparameter offers more control over mapping syntactic forms to source locations for error handling. tcp-listen 0will now automatically retry upon an 'address in use' failure.- The
racket/basemodule has been optimized to require fewer internal modules and instantiations. - The
file/zippackage introduces a new mechanism for enhanced control over zip file generation, including in-memory sources and per-file compression.
This release is the result of contributions from a large community of developers. The Racket team welcomes new contributors and encourages existing users to provide feedback and help spread the word about Racket v9.3.