Hazel Tutor

Because learning a new programming language is hard.

Learning a new programming language is difficult. We are investigating ideas for programming tools to help experienced and novice programmers learning a new language. We have been implementing these programming tools in Hazel, a live functional programming environment with holes.

The Cursor Inspector displays typing information about the expression or pattern at the cursor. The Strategy Guide is designed to guide novices through a type-driven development strategy. The demo for these two tools is available online. For more details about this work, check out our HATRA paper!

On the left is the Cursor Inspector. On the right is the Strategy Guide.

ExplainThis is a contextualized programming language documentation tool, which provides information about the syntactic form, an explanation, and examples for the term at the cursor. The demo for ExplainThis is also available online. I collaborated with Ardi Madadi on this project. For more details about this work, check out our Onward! paper!

On the left is the old design of ExplainThis. On the right is the new updated design.