Pantograph: A Fluid and Typed Structure Editor
2025-02-07
Pantograph is a revolutionary structured code editor that operates directly on a typed syntax tree, unlike traditional editors that parse text and then typecheck. By introducing the concept of tree selection and "zipper editing," Pantograph simplifies editing existing programs, allowing programmers to make complex code modifications more easily while maintaining type safety. It cleverly handles type diffs and allows for the existence of some errors in the program, facilitating gradual debugging. Pantograph's design is language-generic, enabling developers to define new editors based on its framework.