RacketCon Is Saturday
🚀 RacketCon 2026: The 16th Annual Gathering
The sixteenth RacketCon is arriving this October! This public event is dedicated to cultivating an inclusive, innovative, and energetic community centered around the Racket programming language.
Our mission is to host an exhilarating conference that welcomes everyone—from seasoned Racket experts to curious newcomers—by providing inspiring content that resonates with both the core community and the broader software engineering world.
📅 Event Logistics
| Detail | Information |
|---|---|
| Dates | October 3-4, 2026 |
| Location | Oakland, California, USA |
| Venue | Oakstop, Broadway Gallery Suite |
| Edition | 16th Annual |
📝 Registration Checklist
- Visit the official registration link.
- Complete sign-up before September 13 to secure the early-bird discount.
🌐 Remote Participation
For those who cannot make the trip to Oakland, RacketCon remains accessible to all:
Virtual Access: The entire event will be streamed live. While viewing is open, attendees have the option to purchase a remote participation ticket to financially support the livestream infrastructure.
- Live Interaction: A live chat will be active throughout the proceedings.
- On-Demand: All sessions will be uploaded to YouTube following the conclusion of the conference.
🕒 Saturday Schedule: October 3rd
🎙️ Session Details
9:00 AM — Pat Hanrahan: On Notation
- About the Speaker: Pat Hanrahan is the Canon Professor of Computer Science and Electrical Engineering Emeritus at Stanford. His legendary career includes leading the design of RenderMan at Pixar and co-founding Tableau. He was honored with the 2019 ACM Turing Award.
10:30 AM — Fred Fu: Type Inference With Logical Types For Untyped Languages
Fred will discuss the complexities of type systems in Racket and Rhombus. While Typed Racket utilizes occurrence typing to handle control flow based on runtime tests, issues arise when importing macros that expand into complex -expressions.
Since local type inference often fails to determine types for parameters, the system typically conservatively.
- The Solution: A prototype system merging occurrence typing with algebraic subtyping.
- Impact: This work not only introduces new features but corrects flaws in the metatheory of occurrence typing.
11:10 AM — Lucas Myers: Language-Oriented Low-Level Programming with Pille
While Racket is expressive, the VM can be a bottleneck for high-performance needs or constrained hardware (like microcontrollers).
- Introducing
Pille(pronounced peel): A Rhombus-based language utilizing an LLVM-based compiler. - Key Feature: It applies the Rhombus "enforestation" process to a new core, bypassing the VM while keeping full macro capabilities.
Bio: Lucas is a PhD student at Northwestern (advised by Robby Findler), focusing on bringing extensible language tech to systems programming.
1:30 PM: Mike Delmonaco: Treason: Making Macros and IDE Services Work Together
Macros are powerful for DSLs, but they often break hinder IDE services when code is incomplete. Treason is a prototype language designed to maintain IDE functionality even during failed macro expansions.
- Innovation: Spec-driven subexpression expansion via syntax-class annotations.
Bio: Mike is an AWS Software Engineer and a PL enthusiast who enjoys rock climbing and interactive math.
2:10 PM: Pavel Panchekha: Herbie: Improving Floating-point Accuracy Floating-point arithmetic is inherently imprecise due to rounding. However, the expression does not mean they have the same numerical stability.
Herbie: A compiler that transforms mathematical formulas into more accurate floating-point expressions.- Reflection: A look back at a decade of developing
HerbieusingRacket.
Bio: Pavel is an Associate Professor at the University of Utah.
3:30 PM: JJ: Effect Handlers in cio
This session explores the design of cio, an untyped effect-handler library compatible with Racket and Guile Scheme.
- Core Topic: The implementation and UI of effect handlers, which function similarly to delimited continuations.
;; Example of the kind of logic discussed in cio
(define (handle-effect)
(effect-handler
(handle (Log msg)
(displayln msg)
(continue))))