# Comprehending Finite Maps for Algorithmic Debugging of Higher-Order Functional Programs

Chitil, Olaf and Davie, Thomas (2008) Comprehending Finite Maps for Algorithmic Debugging of Higher-Order Functional Programs. In: PPDP '08 Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming. PPDP Principles and Practice of Declarative Programming . ACM, New York, USA, pp. 205-216. ISBN 978-1-60558-117-0. (doi:10.1145/1389449.1389475)

## Abstract

Algorithmic debuggers for higher-order functional languages have to display functional values. Originally functional values had been represented as partial applications of function and constructor symbols, but a recent approach represents functional values as finite maps. The two representations require the computation tree that is central to algorithmic debugging to be structured rather differently. In this paper we present a unifying framework that formally defines algorithmic debugging for both representations in an implementation-independent way. On this basis we prove the soundness of algorithmic debugging with finite maps. Our framework shows how a single implementation can support both forms of algorithmic debugging. The proof exposed that algorithmic debugging with finite maps does not handle arbitrary functional programs, but in current practice the problematic ones are excluded by Haskell's type system. Both framework and proof suggest variations of algorithmic debugging with finite maps and thus are tools for further improvement of this form of debugging.

Item Type: Book section 10.1145/1389449.1389475 Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming, Faculties > Sciences > School of Computing > Theoretical Computing Group Olaf Chitil 29 Mar 2010 12:12 UTC 23 Jan 2020 04:04 UTC https://kar.kent.ac.uk/id/eprint/24054 (The current URI for this page, for reference purposes) https://orcid.org/0000-0001-7986-9929