RacketCon is a public gathering dedicated to fostering a vibrant, innovative, and inclusive community around the Racket programming language. We aim to create an exciting and enjoyable conference open to anyone interested in Racket, filled with inspiring content, reaching and engaging both the Racket community and the wider programming world.
Saturday, October 4th
Saturday, 8:30AM EDT
Doors Open
Saturday, 9:00AM EDT
Keynote
How Cloudflare Uses Racket and Rosette to Verify DNS Changes
Since 2022, Cloudflare has used Racket and Rosette to prevent DNS-related bugs. Cloudflare engineers express desired DNS behavior as small programs called policies, written in a custom DSL called topaz-lang. Topaz-lang policies are executed in real-time on Cloudflare’s global edge network in response to live DNS queries. But before deployment, all policies are checked for bugs using a verifier we wrote in Rosette, a solver-aided Racket #lang.
In this talk, we describe our experience writing and using Racket in production at Cloudflare. We describe why managing DNS behavior at Cloudflare scale is so challenging, and how these challenges motivated topaz-lang and its parent system Topaz. We discuss why we chose Racket (and Rosette) and the types of bugs our Rosette verifier detects. Finally, we reflect on why making changes to our verifier remains daunting for many software engineers.
Bio: Suleman is a Research Engineer at Cloudflare, working at the intersection of systems engineering and Internet security. He holds a Master’s degree from the University of Wisconsin–Madison, where he focused on analyzing security and privacy challenges in large-scale Internet architectures and engineering scalable measurement platforms. It was during his master’s studies that he developed an appreciation for functional programming and its practical application to verifiable distributed systems.
James is a systems/security researcher and programming language fanboy. He developed his appreciation for the functional style (and Racket) during his undergraduate degree at Northeastern University. He received his PhD in Computer Science from Harvard University, where one of his projects involved bringing Prolog to the Web Public Key Infrastructure. He is currently a Research Engineer at Cloudflare, where he works on the Web PKI, distributed systems, and a bit of formal methods.
Saturday, 10:00AM EDT
Coffee
Saturday, 10:15AM EDT
François-René Rideau
Compositional Object Oriented Prototypes
Saturday, 10:45AM EDT
Mike Delmonaco
A Match-Like DSL for Deep Immutable Updates
match is very convenient for deconstructing data and accessing values deep within a data structure, but it is not useful for making changes to that data structure. In this talk, I’ll present a DSL that looks like match, but allows you to perform immutable updates on the target value using pattern variables to specify where an update should occur. I’ll also talk about optics, which are the abstraction powering these immutable updates.
Bio: Mike Delmonaco is a Software Engineer at Amazon Web Services with a hobby interest in Programming Languages and Racket. Outside of work, he enjoys rock climbing, video games, creating interactive math visualizations, programming language research, and teaching.
Saturday, 11:45AM EDT
Lunch
Saturday, 1:30PM EDT
Todd Jonker
Ion Fusion
Ion Fusion is a customizable programming language that unifies the semantics of persistent data and the code that manipulates it. Oriented around the Amazon Ion data format--the backbone of Amazon’s retail systems and even consumer products--Fusion has been the brains of internal analytics, data processing, and workflow systems since 2013. This talk explores Ion Fusion’s unique design goals and constraints, its roots in Scheme and Racket, and its vision of sustainable software evolution.
Bio: I got bored with AppleSoft Basic in 1982 and have been designing PLs ever since. A self-taught coder, I was reeducated by PLT at Rice, then failed out of CMU into an industry career. After surfing through startups in a variety of industries, I settled down for two decades at Amazon, building foundation tech and evolving very large systems, including the company’s central package builder. Throughout, my mission is to improve developer happiness through transparent, coherent, and sustainable languages, frameworks, and tools.
Saturday, 2:00PM EDT
Greg Hendershott
"It Works": More Adventures with Racket and Emacs
The Emacs package "racket-mode" has continued to evolve its design and features. Among other things, it allows multiple local and remote back ends, has a redesigned "lossless" REPL, supports modern Emacs UI completion annotations, and enables lang-driven editing. Most recently the step debugger has gotten some attention.
Bio: Greg Hendershott has a useless degree in philosophy, a background in the music software industry, and a decade working in the open source Racket and Emacs communities. Tedious details are available at greghendershott.com.
Saturday, 2:30PM EDT
Cameron Moy
Roulette for Racketeers
Exact probabilistic inference is a requirement for many applications of probabilistic programming languages (PPLs), but implementing a PPL with high-performance inference is difficult. Roulette is a new discrete PPL that combines high-performance exact inference with expressive language features by leveraging the close connection between exact probabilistic inference and the symbolic evaluation strategy of Rosette. Building on this connection, Roulette generalizes and extends the Rosette solver-aided programming system to reason about probabilistic rather than symbolic quantities. In this talk, I’ll demonstrate how to use Roulette and discuss some of the ideas that make it work.
Bio: Cameron is a PhD student and member of the PLT and PRL research groups at Northeastern University. He primarily studies contract systems but is broadly interested in programming language design.
Saturday, 3:00PM EDT
Break
Saturday, 3:30PM EDT
miniDusa: An Extensible Finite-Choice Logic Programming Language
Dusa is a recently designed logic programming language featuring mutually exclusive choice as a primitive to enable computation of solutions that satisfy constraints. To explore further host integration, we introduce miniDusa, a Dusa-inspired hosted domain-specific language implemented using Racket and the syntax-spec metalanguage. This architecture lets us inherit tooling, extensibility, and interoperability features from Racket essentially “for free”.
Bio: Zachary Eisbach is a student at Northeastern University studying Mathematics and Computer Science. He is interested in compilers, logic, and safe interoperability.
Ari Prakash is a student at Northeastern University studying Computer Science. She is interested in developer tooling to make creating reliable systems easier.
Saturday, 4:00PM EDT
Jonathan Simpson
Browsing(and serving) the Slow Internet with Racket
Taking its name from the slow food movement, the slow internet movement seeks to recreate the less commercial and more user-centric internet of the early 90s. We will explore how Racket facilitated the development of two slow internet applications and one DSL. First is gopher21, a gopher server with full text search. Second is the graphical, multi-tabbed gopher and gemini client Molasses. And finally, #lang magic is an implementation of the Unix file command’s custom language for writing filetype determination queries. By the end of the talk we will have discussed fear of macros, html layout and rendering, custom canvas widgets and how Racket appears from the perspective of an experienced C programmer and low-level engineer.
Bio: Jonathan Simpson has worked as a professional software engineer since 2001, mostly in the Linux and embedded systems spaces. While almost all of his professional work is in C, he has long harbored a love for Lisp which eventually led him to Racket.
Saturday, 4:30PM EDT
Asher Olsen
PROG Rock: Listening to old Lisp code
Music and Lisp code might seem worlds apart, but through various processes it is possible to get aurally pleasing results from a LISP 1.5 → music compiler (written in Racket, of course). In this talk, I explain how this “musicalization” works and show ways that composers can make use of the concept.
Bio: Asher Olsen is a composer and programming language enthusiast living in Texas.
Sunday, October 5th
Sunday, 8:30AM EDT
Doors Open
Sunday, 9:00AM EDT
Michael Ballantyne
Advanced Macrology: 5 Macro Programming Patterns You (No Longer) Need to Know
Racket’s macros make creating small extensions to the language remarkably simple. But when you step up to creating DSLs with static semantics and compiler optimizations, you need new tools to integrate your DSL implementation with Racket’s expansion process. In this talk I’ll demonstrate 5 macro design patterns that sophisticated DSLs like match, syntax-parse, and Typed Racket use to validate syntax, communicate static information, and integrate with DrRacket. But as any good language-oriented programmer knows, a design pattern usually indicates a missing linguistic abstraction! And in fact, my syntax-spec metalanguage abstracts over all of these design patterns, generating implementations from a declarative specification of your DSL syntax. So I’ll also show how you can more easily achieve the same results with syntax-spec, design-pattern-free.
Bio: Michael Ballantyne recently completed his Ph.D. at Northeastern University, advised by Matthias Felleisen. His research works towards a future where mainstream programmers regularly create, extend, and fluidly intermix domain-specific languages, with excellent support from their programming language and environment.
Sunday, 9:30AM EDT
Jared Gentner
Great Composers Steal: Obbligato Reuse of Racket in Tonart
Imagine, for a moment, that a music score could somehow become a Racket module. Imagine if every notation on that music score was a syntax object. Imagine selecting areas of the score and running macro-like rewrites on the notations within that selection. Imagine a context system which allows a composer to summon important static information about any notation, such as the key, the tuning system, or the instrument. This is the vision of Tonart, an extensible language and library for composing music in Racket. This talk will highlight the ideas Tonart steals from Racket in its design, as well as the language features Tonart reuses from Racket in its implementation.
Bio: Jared has been composing music and functions since a young age. A native of Upstate New York, he moved to Boston to study computing at Northeastern. He had no clue about Racket when he enrolled, but where fate leads, we are bound to follow! What he enjoys most is making music with his friends. Jared believes in living life to the fullest, that “Life imitates Art”, and that the greatest art is to be found at home.
Sunday, 10:00AM EDT
Matthew Flatt
Rhombus
Sunday, 10:30AM EDT
Break
Sunday, 11:00AM EDT
Sam Tobin-Hochstadt
The State of Racket
Sunday, 11:30AM EDT
Racket Management
Racket Town Hall
Please come with your big questions and discussion topics.
Registration
Complete this form to be notified when registration opens, Register your interest in RacketCon. (Yes, we are planning to livestream for those who cannot attend in person, but please register so we can keep you informed.)
Accommodation
At this stage, we have not made accomodation arrangements. If you would like to be notified please use the Register your interest in RacketCon form.
Friendly Policy
The proceedings of RacketCon will take place under the Racket Friendly Environment Policy.
Organization
The RacketCon 2025 is organised by a team of volunteers: Stephen De Gabrielle, Robby Findler, Jacqueline Firth, Matthew Flatt, Ben Greenman, Siddhartha Kasivajhula, Bogdan Popa, Sam Tobin-Hochstadt with local arrangements by Stephen Chang. The organizers may be reached at con-organizers@racket-lang.org.
Previous RacketCons
20242023202220212020201920182017201620152014201320122011