Archive / INF Seminars / INF_2025_04_04_FindlerGibbsPolitz
USI - Email
 
 
Università
della
Svizzera
italiana
INF
 
 
 
  
 main_banner
 

Double Talk: Esterel in Racket + Teaching JITs/incremental compilers

 
 
 

Chair: Matthias Hauswirth

 

Friday

04.04

USI Campus EST, Room D0.02
16:00 - 17:30
  
 

Robby Findler and Joe Gibbs Politz
respectively from Northwestern University and UC San Diego
Abstracts: Talk 1: Concurrency and thread preemption are tools that can make programs more modular. Unfortunately, in conventional programming models, combining state and concurrency (to say nothing of preemption!) makes programs extremely hard to reason about. Esterel offers a different programming model that is designed such that concurrency, state change, and thread preemption can all be used harmoniously. It dates to the 1980s and is the brainchild of Gérard Berry. I have been working on a new implementation technique for Esterel that integrates more seamlessly with a conventional programming language. I’ll try to use examples to make some sense out of what’s written in the previous paragraph and, more generally, give a demo of this new implementation. If we have time, I’ll try to explain how the implementation actually works and achieves this better form of integration.
Talk 2: To borrow from/with apologies to Ghuloum: Real-life JIT (just-in-time) compilers are too complex to serve as an educational tool. And the gap between real-life JITs and the educational toy compilers is too wide. The novice JIT writer stands puzzled facing an impenetrable barrier, ‘better write an ahead-of-time compiler instead.’ The goal of my current compiler course design is to break that barrier. I want to show that building a JIT can be done incrementally and alongside the infrastructure needed for a traditional AOT compiler. This talk presents one incremental curricular breakdown of meaningful JIT infrastructure achievable in a single course.

Biographies: Speaker 1: Robby believes that programming is one of humanity’s greatest achievements and he enjoys participating in it and thinking about how to improve it. He is a professor at Northwestern University and is a core developer of the Racket programming language. He is the primary developer of DrRacket (the Racket developer environment), Racket’s contract system, and the Redex language (for operational semantics). He is a co-author of the textbooks How to Design Programs and Semantics Engineering with PLT Redex.
Speaker 2: Joe Gibbs Politz is an Associate Professor of Teaching at UC San Diego. He teaches courses across the computing curriculum from intro programming to discrete math to compilers to TA training. His recent research focuses on computing education, mentoring, and pedagogic programming language design.

*************************
In February 2019, the Software Institute started its SI Seminar Series. Every Thursday afternoon, a researcher of the Institute will publicly give a short talk on a software engineering argument of their choice. Examples include, but are not limited to novel interesting papers, seminal papers, personal research overview, discussion of preliminary research ideas, tutorials, and small experiments.

On our YouTube playlist you can watch some of the past seminars. On the SI website you can find more details on the next seminar, the upcoming seminars, and an archive of the past speakers.