Towards Type Debugging using Partial Evaluation
summary
Method executes ill-typed programs by freeze likely-error sites using compiler type-inferencer error reports, then iteratively reduce frozen regions with type inference and run a partial evaluator that treats frozen code as dynamic. The contribution is generic algorithms plus two heuristics and an implementation that partially evaluates and thus shortens the distance between blame and symptom. Evaluation on ~15 student and benchmark examples shows many programs become partially executable and error localization improves, though automation and tracking of origins remain preliminary.
AI-written summary · about
chapters (11)
- 0:00Type debugging intro
- 1:13Program understanding challenges
- 2:17Existing debugging inspiration
- 4:50Three-phase approach
- 8:27Evaluation flow strategy
- 11:12Program evaluation importance
- 13:09Automated system criteria
- 15:53Handling type conflicts
- 18:21Partial evaluation intro
- 21:27Exception handling challenges
- 22:12Summary
related talks
30mHow to Evaluate Blame for Gradual Types, Part 2
56mOn Type-Based Techniques for Program Manipulation
01h 01mA partial history of partial evaluation
19mIll-Typed Programs Don't Evaluate
09mCompilers for nothing, executables for free!
24mDecoupling Resolution from Type Inference
41mThe Dialectics of Type-Level Programming
15mTaming Type Annotations in Gradual Typing
