Search papers, labs, and topics across Lattice.
This paper introduces a decomposable type highlighting system designed to enhance the debugging process for static and dynamic type errors in programming. By establishing mathematical foundations for this system within a bidirectional type and cast framework, the authors demonstrate how type information can be interactively visualized and propagated through dynamic types. The prototype implemented in the Hazel language showcases significant improvements in programmer understanding and error resolution through an intuitive web-based interface.
Interactive type highlighting can drastically reduce debugging time by clarifying the derivation of static types and dynamic casts in real-time.
We explore how to provide programmers with an interactive interface for explaining the process by which static types and dynamic casts are derived, with the goal of improving the debugging of static and dynamic type errors. To this end, we define mathematical foundations for a decomposable highlighting system within a bidirectional system and show how these can be propagated through dynamic types in a cast system. Our prototype implementation in the gradually typed Hazel language includes a web-based user interface, through which we highlight the importance of type-level debugging.