This article describes the implementation of a debugger for lazy functional languages like Haskell. The key idea is to construct a declarative trace which hides the operational details of lazy evaluation. However, to avoid excessive memory consumption, the trace is constructed one piece at a time, as needed during a debugging session, by automatic re-execution of the program being debugged. The article gives a fairly detailed account of both the underlying ideas and of our implementation, and also presents performance figures which demonstrate the feasibility of the approach.
CITATION STYLE
Nilsson, H. (2001). How to look busy while being as lazy as ever: The Implementation of a lazy functional debugger. Journal of Functional Programming, 11(6), 629–671. https://doi.org/10.1017/S095679680100418X
Mendeley helps you to discover research relevant for your work.