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.
Projects
Hazel
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.
- Go to hazel.org for more information, papers, and live demos of the many research projects housed within the Hazel research platform.
RustViz: Interactively Visualizing Ownership and Borrowing
We are developing program visualization techniques for a powerful and elegant systems programming language called Rust.
Deckflow
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.
- See deckflow.org for a video β paper and public release coming soon!
ChatLSP
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.
- Read our OOPSLA 2024 paper on the key ideas and initial evaluation of ChatLSP.
- We are looking for industry partners to help us scale out to more languages via a standardized extension to the language server protocol (LSP)!
News
- POPL 2025 (Denver)
- We will be presenting our paper Grove: A Bidirectionally Typed Structure Editor Calculus at POPL 2025! This is joint work with Michael D. Adams, Eric Griffis, Thomas J. Porter, Sundara Vishnu Satish, Eric Zhao, and Cyrus Omar.
- MWPLS 2024 (Chicago)
- Sundara (Vishnu) Satish will be presenting a talk on Grove: A Bidirectionally Typed Structure Editor Calculus at MWPLS 2024!
- Several other FP Lab folks will be attending β ask for us for a demo!
- SPLASH 2024 (Pasadena)
- ICFP 2024 (Milan)
- New PhD students in 2024
- 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 ****was awarded an NSF CSGrad4US Fellowship! [article]
- Thomas Porter joins FP Lab as a new PhD student in Fall 2024!
- Graduating FP Lab members in 2024
- Several FP Lab students will be going on to graduate programs, including four students going on to PhD programs this fall:
- Eric Zhao join the PhD program at Brown!
- Eric ****was awarded 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!
- Congratulations to all FP Lab graduates!
- POPL 2024 (London)
-
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 (South Orange, NJ)
- Adam Chen and Thomas Porter presented our paper Polymorphism with Typed Holes at TFP 2024 in January!
- This paper has been accepted for inclusion in the TFP proceedings! (preprint forthcoming in May)
- SPLASH 2023 (Cascais, Portugal)
-
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 (Washington, DC)
- MWPLS 2023 (Ann Arbor)
- We brought back the Midwest Programming Languages Summit and hosted it in Ann Arbor!
- Andrew Blinn presented a talk on Type-Directed Prompt Construction for LLM-Powered Programming Assistants.
- Hyman Zhao, Alaric Chen, Yue Huang, and Yifan Liu presented a poster on RustViz 2: Automatically and Interactively Visualizing Ownership, Borrowing, and Lifetimes.
- Matthew Keenan joins FP Lab as a new PhD student at Michigan in Fall 2023!
- Cyrus Omar was awarded the NSF CAREER Award for leading FP Labβs ongoing work on Hazel!
Older News
People