When I arrived here in Indiana as a new PhD student in 2008, the first thing I did was take Dan Friedman’s programming languages course, where we studied what programming languages are made of by writing lots of interpreters. Since then, I’ve mostly been studying concurrent and distributed systems. But after many years of that journey, I had a realization that would come as no surprise to Dan and his many intellectual kinfolk: my work is still about interpreters!
In this talk, I’ll describe two lines of work from my research group that exemplify this unsurprising realization. Library-level choreographic programming lets programmers write distributed programs as single, unified programs in their favorite language, and then dynamically project them to multiple endpoints. Causal separation diagrams are inductively defined data structures designed for elegant mechanized reasoning about happens-before relationships in concurrent executions. But really, these two lines of work can be respectively summed up as “What if endpoint projection was an interpreter?” and “What if you could write interpreters for sequence diagrams?” I’ll discuss how we answered those questions, and conclude with some more general takeaways.
Lindsey Kuper is an assistant professor at the University of California, Santa Cruz, where she studies programming-language-based approaches to building concurrent and distributed software systems. Her research contributions have included library-level choreographic programming, semantics of replicated data structures, verification of distributed protocols with refinement types, and language and library design for deterministic concurrent programming. She was a co-founder and organizer of !!Con (“bang bang con”), the radically eclectic conference of ten-minute talks on the joy, excitement, and surprise of computing. She is the recipient of the NSF CAREER Award, an ICFP Distinguished Paper Award, and a Google Faculty Research Award, and received her Ph.D. in computer science in 2015 from Indiana University.
Wed 26 AugDisplayed time zone: Eastern Time (US & Canada) change
09:00 - 10:00 | Keynote: Lindsey KuperICFP Keynotes at IP126 Auditorium Chair(s): Sam Tobin-Hochstadt Indiana University 50-minute talk followed by 10 minutes of questions. | ||
09:00 60mKeynote | Interpreters everywhere! ICFP Keynotes | ||