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.
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.
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.