Direct Interpretation of Functional Programs for Debugging

05/16/2019
by   John Whitington, et al.
0

We make another assault on the longstanding problem of debugging. After exploring 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 widely used. We present initial work towards a new debugger for OCaml which operates by direct interpretation of the program source, allowing the printing out of individual steps of the program's evaluation. We present OCamli, a standalone interpreter, and propose a mechanism by which the interpreter could be integrated into compiled executables, allowing part of a program to be interpreted in the same fashion as OCamli whilst the rest of the program runs natively. We show how such a mechanism might create a source-level debugging system that has the characteristics of a usable debugger (such as being independent of its environment) and so may eventually be expected to be suitable for widespread adoption.

READ FULL TEXT
research
08/24/2017

Verification of Programs via Intermediate Interpretation

We explore an approach to verification of programs via program transform...
research
05/18/2017

Verifying Programs via Intermediate Interpretation

We explore an approach to verification of programs via program transform...
research
12/09/2021

Towards Neural Functional Program Evaluation

This paper explores the capabilities of current transformer-based langua...
research
06/30/2022

Maniposynth: Bimodal Tangible Functional Programming

Traditionally, writing code is a non-graphical, abstract, and linear pro...
research
09/12/2018

Bidirectional Evaluation with Direct Manipulation

We present an evaluation update (or simply, update) algorithm for a full...
research
02/26/2021

Tensors Fitting Perfectly

Multidimensional arrays (NDArrays) are a central abstraction in modern s...
research
06/05/2020

Genome as a functional program

We discuss a model of genome as a program with functional architecture a...

Please sign up or login with your details

Forgot password? Click here to reset