the homepage of

Justin Lubin

Hello there! My name is Justin Lubin. I love computer science, mathematics, music, and crochet. Most of all, I am passionate about research and education: not only trying to discover beautiful results, but also sharing what I learn with others.

I aspire to be a professor of computer science so that I will be able to combine two of my deepest passions, computer science research and teaching. I hope that one day I will be able to pay off the debt of gratitude that I have to all the wonderful people who have taught me in my life by passing on the knowledge that they have imparted to me to the next generation—and adding something to it in the process.


My goal is twofold: to develop elegant theories and to make them usable by humans. To that end, I am very interested in programming language theory and draw great inspiration from the study of human-computer interaction.

In particular, I am interested in designing and leveraging type systems and language constructs to make programming languages, environments, and tools more accessible, intuitive, and powerful.

I currently work with Professor Ravi Chugh at the University of Chicago and have been doing so for a few years. I also worked with Professor Jonathan Aldrich at Carnegie Mellon University along with Professor Alex Potanin from the Victoria University of Wellington during the summer of 2018. Many, many thanks to these great people for their extremely helpful guidance!

Conference Papers

Workshop Papers

Student Research Competitions



I had a great time meeting people and presenting Program Synthesis with Live Bidirectional Evaluation at MWPLS 2019/PurPL Fest!
I’m very excited to be attending the Oregon Programming Languages Summer School this year!
I won first place in the SPLASH 2018 Student Research Competition for Approximating Polymorphic Effects with Capabilities!
I am excited to present a poster for Approximating Polymorphic Effects with Capabilities at the Midwest Programming Languages Summit 2018.
I am honored to be accepted to Carnegie Mellon’s Research Experiences for Undergraduates in Software Engineering (REUSE) program. Catch me in Pittsburgh this summer!



In my free time, I like to compose music. Here are some of the pieces that I’ve composed! All my pieces are composed in the wonderful, open-source music notation software Musescore.

Longer pieces

  • Florescence (mp3 | pdf). Orchestra, September 2019.
  • Sonata in G Minor (mp3 | pdf). String Quartet, April 2019.
  • Invention in D Minor (mp3 | pdf). Keyboard, January 2019.
  • Lofty Stars (mp3 | pdf). Wind Quartet, December 2018.
  • Wind Quintet in C (mp3 | pdf). Wind Quintet, November 2018.
  • Reflections (mp3 | pdf). String Quartet, October 2018.
  • Dive (mp3 | pdf). Orchestra, August 2018.
  • Travels (mp3 | pdf). Synthesizer, August 2018.
  • Outset (mp3 | pdf). Synthesizer, June 2018.

Shorter pieces

  • Jam (mp3 | pdf). Game Boy Synthesizer, April 2019.
  • Realizations (mp3 | pdf). Synthesizer, July 2018.
  • Lessons (mp3 | pdf). Synthesizer, August 2018.


  • Morrow & Deseora Town (info), June 2019.
    Morrow Town - Marielle (mp3 | pdf).
    Morrow Town - Felix (mp3 | pdf).
    Morrow Town - Cordelia (mp3 | pdf).
    Morrow Town - Reduction (mp3 | pdf).
    Deseora Town - Marielle (mp3 | pdf).
    Deseora Town - Felix (mp3 | pdf).
    Deseora Town - Cordelia (mp3 | pdf).
    Deseora Town - Reduction (mp3 | pdf).
  • Lucas (info), April 2019.
    Theme (mp3 | pdf).
    Battle Theme (mp3 | pdf).
  • Minuet and Trio in A (mp3 | pdf). Keyboard, May 2018.
  • Caged Bird (mp3 | pdf | annotated). Chorale, April 2018.

The Shards of Mt. Lampora Play! ▸

As my final project for the functional programming class that I took at the University of Chicago, I created The Shards of Mt. Lampora, a 2D platformer written using the Elm programming language featuring modular music that I composed myself.

As the player moves throughout the world and collects the shards it contains, the music responds dynamically. These musical details (along with some other information about the creation of the game) are further described in the brief presentation that I gave before demoing my game.

If you’d like, you can click here to play The Shards of Mt. Lampora! You can also view the source code for the game here and its sheet music here.