
doi: 10.1007/bfb0019406
Programmers using imperative languages have a number of well-established debugging tools available to them; functional programmers have few, if any, tools available. Many of the tools and techniques developed for debugging functional programs are based on those for imperative programming and lack a theoretical basis relevant to functional programming. In addition, the techniques used are typically very time-consuming. A theoretical foundation on which to base the study of errors and debugging in functional programming is presented in this paper. Using this theoretical foundation, a set of program transformation schemes has been developed which facilitate the location of the type of error which results in an evaluation-time error message and the termination of evaluation. A brief description of the practical experience obtained using the tool is also presented.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 5 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Top 10% | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Top 10% |
