This paper formally presents a model of tracing for functional programs based on a small-step operational semantics. The model records the computation of a functional program in a graph which can be utilised for various purposes such as algorithmic debugging. The main contribution of this paper is to prove the correctness of algorithmic debugging for functional programs based on the model. Although algorithmic debugging for functional programs is implemented in several tracers such as Hat, the correctness has not been formally proved before. The difficulty of the proof is to find a suitable induction principle and a more general induction hypothesis
Existing algorithmic debuggers for Haskell require a transformation of all modules in a program, eve...
We present a general framework for the declarative debugging of functional logic programs, which is ...
We present a generic scheme for the declarative debugging of functional logic programs which is vali...
This paper formally presents a model of tracing for functional programs based on a small-step operat...
In functional programming languages such as Haskell, it happens often that some parts of a program a...
The tracer Hat records in a detailed trace the computation of a program written in the lazy function...
In non-strict functional programming languages such as Haskell, it happens often that some parts of ...
AbstractThis paper is part of a comprehensive approach to debugging for functional logic languages. ...
In this paper we compare three systems for tracing and debugging Haskell programs: Freja, the Redex ...
Algorithmic debuggers for higher-order functional languages have to display functional values. Origi...
AbstractThe tracer Hat records in a detailed trace the computation of a program written in the lazy ...
We have proved the correctness of algorithmic debugging if the traces are acyclic. For cyclic traces...
. Lazy functional languages have non-strict semantics and are purely declarative, i.e. they support ...
In this position paper, we present a prototype of a visualizer for functional programs. Such program...
A computation tree of a program execution describes computations of functions and their dependencies...
Existing algorithmic debuggers for Haskell require a transformation of all modules in a program, eve...
We present a general framework for the declarative debugging of functional logic programs, which is ...
We present a generic scheme for the declarative debugging of functional logic programs which is vali...
This paper formally presents a model of tracing for functional programs based on a small-step operat...
In functional programming languages such as Haskell, it happens often that some parts of a program a...
The tracer Hat records in a detailed trace the computation of a program written in the lazy function...
In non-strict functional programming languages such as Haskell, it happens often that some parts of ...
AbstractThis paper is part of a comprehensive approach to debugging for functional logic languages. ...
In this paper we compare three systems for tracing and debugging Haskell programs: Freja, the Redex ...
Algorithmic debuggers for higher-order functional languages have to display functional values. Origi...
AbstractThe tracer Hat records in a detailed trace the computation of a program written in the lazy ...
We have proved the correctness of algorithmic debugging if the traces are acyclic. For cyclic traces...
. Lazy functional languages have non-strict semantics and are purely declarative, i.e. they support ...
In this position paper, we present a prototype of a visualizer for functional programs. Such program...
A computation tree of a program execution describes computations of functions and their dependencies...
Existing algorithmic debuggers for Haskell require a transformation of all modules in a program, eve...
We present a general framework for the declarative debugging of functional logic programs, which is ...
We present a generic scheme for the declarative debugging of functional logic programs which is vali...