OPLSS (A Review Partially Told in Gifs)

I recently returned from the Oregon Programming Languages Summer School, which was two and a half weeks of trying to smush a ridiculous amount of knowledge into my brain.

I decided to attend OPLSS because I would read these PL papers…and be completely confused. They were completely indecipherable to me. I’ve revisited some of these papers since getting home and I already understand so much more. Some main takeaways for me:

  • \(\lambda\)-calculus isn’t as terrifying as I thought
  • I have a lot of bedtime reading, starting with PFPL
  • There’s a language to talk about languages (aka the entire Foundations week)!
  • Types are specifications of behavior…and specifications are programs (see Computational Type Theory)–I can’t honestly say that I’ve processed anything from these lectures yet…

I was pleasantly surprised that I’ve had exposure to some terms and concepts just by using Rust. Overall, it was a great experience. I’m glad to be home (not so glad to work through my Github notifications and email). I appreciate the exposure to all of these PL concepts that I wouldn’t have been aware of otherwise, and I can’t wait to dive in more.

Stay tuned—I’m finishing up a few things that are stuck in my backlog (looking at you performance metrics), then I’m hoping to dive into some more work on formal verification.

A huge thank you to everyone involved in OPLSS—organizers, lecturers, participants—it was a pleasure to meet you all, and I hope to collaborate/run into you again someday!

Highlights

Location: Aside from the heat wave (and no A/C), Oregon was great. There’s maybe a bit too much nature for a dedicated indoorswoman like me, but overall, highly recommend. Specifically, Eugene has a wonderful store called Hirons that is simultaneously indescribable and also capable of fulfilling your every need. I bought allergy medication, a pineapple cup, and a swan floatie named George1 there.

People: it turns out that there are a lot of brilliant and lovely people doing PL research (And if any of you want to do Rust-related work, hmu)!

Participant Talks: Some nights, we had informal participant lectures, where anyone could share their research

Events: I had the pleasure of meeting Bob Harper—with a balloon that said “Die Already” and a shiny birthday tiara. It was literally the first time I’d ever met him. OPLSS hosted a surprise birthday party for Bob, and I somehow ended up organizing and greeting him. At the aforementioned Hirons, Zena and I acquired some balloons with questionable messages (“Happy Birthday–I hate you,” “Die Already,” “Grow Up,” “You’re Old,” etc.) for decor—that’s how everyone wants to be greeted, right? With a stranger holding a tiara and a mean balloon?

##


Selected Topics and Resources

Parallel Cost Semantics and Bounded Implementations

Session-Typed Concurrent Programming

Algebraic Effects and Handlers

Computational Type Theory

Game Semantics

There were many more topics (I haven’t even included anything from the week of Foundations of PL)–you can see all of the details here. My notes are…scattered around my computer, notebook, and iPad, because I kept breaking things, so I recommend checking out participant notes.


Rust Specific

Aaron Turon gave a talk about (PL-heavy) open research projects in Rust, so I’ll spread the word here too:

  • Chalk: describe Rust trait system in terms of logic
  • Polonius: model the borrow checker
  • Const-dependent types: there’s work on both the compiler and in Chalk—pop into #wg-traits on Discord to find out more

1: Sadly, George got locked in the room across from mine. Some UO freshman might have a fun surprise at the beginning of the semester.