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 also working on program visualization techniques for a powerful and elegant systems programming language called Rust.
POPL 2024
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 was honored with 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.
TFP 2024
SPLASH 2023
Cyrus Omar presented our paper Live Pattern Matching with Typed Holes at OOPSLA 2023! This is joint work with Yongwei Yuan, Scott Guest, Eric Griffis, Hannah Potter, and David Moon.
🎉 This paper was honored with a Distinguished Paper Award!
Cyrus Omar presented Totally Live Programming with Hazel (Progress Report) at the HATRA 2023 workshop! This is joint work with Andrew Blinn and David Moon.
VL/HCC 2023
MWPLS 2023
Cyrus Omar was awarded the NSF CAREER Award for leading FP Lab’s ongoing work on Hazel!
SPLASH 2022
VL/HCC 2022
ICFP 2022
🎉 Eric Zhao, Yanjun Chen, and Hilbert Chen were awarded 2nd place in the undergraduate category at the ICFP 2022 SRC for their work on Compiling Programs with Holes!