Debugging Functional Programs by Interpretation
John Whitington

TL;DR
This paper introduces a new interpretation-based debugger for OCaml that enhances usability and aims to increase debugging adoption in functional programming by allowing step-by-step program evaluation inspection.
Contribution
It presents a novel debugger for OCaml that operates via direct interpretation, enabling source-level debugging and improved usability compared to traditional debuggers.
Findings
Debugger allows step-by-step evaluation inspection
Implementation includes stand-alone and syntax extension components
Designed to improve debugger usability and adoption in functional programming
Abstract
Motivated by experience in programming and in the teaching of programming, we make another assault on the longstanding problem of debugging. Having explored why debuggers are not used as widely as one might expect, especially in functional programming environments, we define the characteristics of a debugger which make it usable and thus likely to be widely used. We present work on a new debugger for the functional programming language OCaml which operates by direct interpretation of the program source, allowing the printing out of individual steps of the program's evaluation, and discuss its technical implementation and practical use. It has two parts: a stand-alone debugger which can run OCaml programs by interpretation and so allow their behaviour to be inspected; and an OCaml syntax extension, which allows the part of a program under scrutiny to be interpreted in the same fashion…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsTeaching and Learning Programming · Software Engineering Research · Parallel Computing and Optimization Techniques
