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