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