← Retour au blog
tech 15 August 2026

Racket v9.3: New Features and Enhancements

Explore Racket v9.3, a release that boosts developer flexibility and performance. From Markdown documentation generation to new FFI mechanisms, let's dive into the details.

Article inspired by the original source
Racket v9.3 ↗ blog.racket-lang.org

Introduction

Racket, the language-oriented programming language, has just released version 9.3, bringing a slew of new features and improvements. Whether you're a developer, an educator, or simply curious, this update offers functionalities that enhance productivity and user experience.

Markdown Documentation Generation

One of the standout features is raco setup's ability to generate Markdown documentation using the --doc-markdown option. This makes it easier to create readable and shareable documents, a significant asset for teams collaborating on open-source or commercial projects.

Enhancements in Teaching Languages

The #lang teaching languages like BSL, ISL+, and DeinProgram have reached parity with those chosen via the Language dialog. This means educators and students can expect a consistent and reliable experience regardless of the interface used.

DrRacket Optimizations

DrRacket, the integrated development environment for Racket, now disables errortrace annotations during background expansion, significantly speeding up syntax checking. This saves developers valuable time during development and debugging.

New Installation Configuration Tools

The raco pkg install command has been enriched with new options like --adjacent-deps, --destdir, and --attach, with a refined --skip-installed. These options give developers greater flexibility in configuring and installing packages, reducing setup time for complex development environments.

Enhanced FFI Library

The ffi/unsafe/runtime-lib library introduces a define-runtime-lib mechanism similar to define-runtime-path. This allows for locating libraries relative to a source file, simplifying the management of external dependencies.

Error and Contract Management

The prompt-tag/c contract generator no longer checks call/cc when the #:call/cc option is absent, and the impersonate-prompt-tag function takes an additional argument for checking and updating results for composable continuations. Additionally, the error-syntax->srcloc-handler parameter provides better control during error handling.

TCP Support and Base Modules

Uses of (tcp-listen 0) now automatically retry if they fail with "address already in use," a crucial improvement for network applications. Furthermore, the racket/base module requires fewer internal modules, reducing instantiation complexity.

ZIP File Generation Control

The file/zip package offers a new mechanism for greatly increased control over ZIP file generation, allowing in-memory file sources and per-file compression control. This feature is particularly useful for applications requiring intensive file manipulation.

Conclusion

Racket v9.3 stands out for its enhancements in flexibility and performance, making developers' lives easier. Whether for teaching, application development, or research, this version is a must-have.

Let's discuss your project in 15 minutes.

Racket version 9.3 Markdown documentation FFI library DrRacket
Deepthix newsletter · 100% AI · every Monday 8am

An AI agent reads tech for you.

Our AI agent scans ~200 sources per week and ships the best articles to your inbox Monday 8am. Free. One click to unsubscribe.

Visit the newsletter page →

Want to automate your operations?

Let's talk about your project in 15 minutes.

Book a call