Hi, I'm a 5th-year PhD candidate in Computer Science from University of California, Santa Cruz. I'm advised by Prof. Lindsey Kuper and a member of the LSD lab. My research lies in programming languages, with a focus on their applications in building software that is elegant, correct, and efficient (in this order!).
Specifically, I work on choreographic programming, a programming paradigm that allows one to write a single program that describes the complete behavior of a distributed system and then compiles it to individual programs run on each node. In this way, interactions between nodes are manifest and guaranteed deadlock-free, an essential step toward understandable and reliable distributed systems. We've been developing HasChor, a Haskell library for choreographic programming, to experiment with language design and create real-world distributed systems.
Toward Verified Library-Level Choreographic Programming with Algebraic Effects
Gan Shen, Lindsey Kuper
CP 2024
HasChor: Functional Choreographic Programming for All (Functional Pearl)
Gan Shen, Shun Kashiwa, Lindsey Kuper
ICFP 2023 (Distinguished Paper Award)
Verified Causal Broadcast with Liquid Haskell
Patrick Redmond, Gan Shen, Niki Vazou, Lindsey Kuper
IFL 2022
Toward Hole-Driven Development with Liquid Haskell
Patrick Redmond, Gan Shen, Lindsey Kuper
HATRA 2021
Toward SMT-Based Refinement Types in Agda
Gan Shen, Lindsey Kuper
HATRA 2021
At UCSC, as a teaching assistant:
Foundations of Programming Languages
Spring 2022
Parallel and Concurrent Programming
Spring 2021
Fundmentals of Compiler Design I
Winter 2020
I'm from Suzhou, China, a beautiful city with 2500 years of history and known for its classical gardens.
My Chinese name is 沈赣. My given name 赣 (Gan) is a reference to the Jiangxi province of China, my mother's hometown.