FP Lab at the University of Michigan designs next-generation user interfaces for modern programming languages. Our research runs the methodological gamut, ranging from type-theoretic foundations through to human-centered design. We are particularly interested in applications to computer science education, accessibility, computational and data science, formal verification, and computational creativity.
FP Lab is the academic home of Hazel, a live functional programming environment that is able to understand, manipulate, and even run incomplete programs, i.e. programs with holes.
We are developing program visualization techniques for a powerful and elegant systems programming language called Rust.
We are developing DeckFlow, an infinite canvas for multimodal generative AI that helps end users specify their intent more precisely and granularly using visual dataflow affordances.
LLMs are powerful code synthesizers, but they often hallucinate incorrect code because they lack access to the appropriate code context. We are working on integrating language servers with LLMs to better contextualize AI code completion systems.
Thomas J. Porter presented our OOPSLA 2025 paper *Incremental Bidirectional Typing via Order Maintenance.* This is joint work with Marisa Kirisame (Utah), Ivan Wei, Pavel Panchekha (Utah), and Cyrus Omar.
🎉 This paper received a Distinguished Paper Award!
David Moon presented our OOPSLA 2025 paper *Syntactic Completions with Material Obligations.* This is joint work with Andrew Blinn, Thomas J. Porter, and Cyrus Omar.
Cyrus Omar presented our PROPL 2025 paper A FAIR Case for a Live Computational Commons. This is joint work with Michael Coblenz (UCSD) and Anil Madhavapeddy (Cambridge).
In addition to work by FP Lab members, there were two Hazel-related presentations authored by friends of the lab:
Gregory Croisdale joins FP Lab as a PhD student in Summer 2024!
Alexander Bandukwala joins FP Lab as a new PhD student in Fall 2024!
🎉 Alexander ****received an NSF CSGrad4US Fellowship! [article]
Thomas J. Porter joins FP Lab as a new PhD student in Fall 2024!
Eric Zhao joined the PhD program at Brown!
🎉 Eric ****received an NSF Graduate Research Fellowship!
Matthew Ruiz joined the PhD program at Purdue!
Alaric (Yuxiang) Chen joined the PhD program at Purdue!
Yanjun Chen joined the PhD program at UC Irvine!
Eric Zhao presented our paper *Total Type Error Localization and Recovery with Holes* at POPL 2024 in January! This is joint work with Raef Maroof, Anand Dukkipati, Andrew Blinn, Zoe (Zhiyi) Pan, ****and Cyrus Omar.
🎉 This paper received a Distinguished Paper Award!
Alexander Bandukwala presented our vision paper Toward a Live, Rich, Composable, and Collaborative Planetary Compute Engine at the Programming for the Planet (PROPL) Workshop at POPL 2024! This is joint work with Andrew Blinn and Cyrus Omar.