Hazel Grove

We are designing Hazel, a programming environment rooted in type theory.


Research Vision

Our research vision is described in the following paper, which was presented at SNAPL 2017.


To start, we have developed a core calculus, Hazelnut, that establishes 1) principles for reasoning statically in the presence of holes and type inconsistencies, and 2) a semantics of typed edit actions.

Research Paper (POPL 2017)

Hazelnut is described in a research paper published at POPL 2017.


We have mechanized the metatheory of Hazelnut using the Agda proof assistant.


HZ is a simple reference implementation of Hazelnut, written in OCaml and compiled to JavaScript using js_of_ocaml.

Hazelnut Live

We are currently working to understand how one might run the incomplete programs that Hazelnut produces, and how one might interact with these running programs.

Workshop Presentation

An extended abstract and annotated slides for a talk on this topic given by Ian at the Off the Beaten Track (OBT) workshop at POPL 2017 are available.



Carnegie Mellon University


Carnegie Mellon University


Oregon State University


Carnegie Mellon University


University of Colorado Boulder

If you're interested in working on Hazel, in any capacity, get in touch!


We are grateful for the pro bono artistic services provided by Vincent Zeng.