{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,6]],"date-time":"2025-11-06T19:46:18Z","timestamp":1762458378734},"reference-count":0,"publisher":"Cambridge University Press (CUP)","issue":"6","license":[{"start":{"date-parts":[[2001,11,28]],"date-time":"2001-11-28T00:00:00Z","timestamp":1006905600000},"content-version":"unspecified","delay-in-days":27,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Funct. Prog."],"published-print":{"date-parts":[[2001,11]]},"abstract":"<jats:p>This article describes the implementation of a debugger for lazy functional languages like \nHaskell. The key idea is to construct a declarative trace which hides the operational details of \nlazy evaluation. However, to avoid excessive memory consumption, the trace is constructed \none piece at a time, as needed during a debugging session, by automatic re-execution of the \nprogram being debugged. The article gives a fairly detailed account of both the underlying \nideas and of our implementation, and also presents performance figures which demonstrate \nthe feasibility of the approach.<\/jats:p>","DOI":"10.1017\/s095679680100418x","type":"journal-article","created":{"date-parts":[[2003,10,16]],"date-time":"2003-10-16T10:21:12Z","timestamp":1066299672000},"page":"629-671","source":"Crossref","is-referenced-by-count":35,"title":["How to look busy while being as lazy as ever: the Implementation of a lazy functional debugger"],"prefix":"10.1017","volume":"11","author":[{"given":"HENRIK","family":"NILSSON","sequence":"first","affiliation":[]}],"member":"56","published-online":{"date-parts":[[2001,11,28]]},"container-title":["Journal of Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S095679680100418X","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,7]],"date-time":"2019-05-07T22:23:00Z","timestamp":1557267780000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S095679680100418X\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2001,11]]},"references-count":0,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2001,11]]}},"alternative-id":["S095679680100418X"],"URL":"https:\/\/doi.org\/10.1017\/s095679680100418x","relation":{},"ISSN":["0956-7968","1469-7653"],"issn-type":[{"value":"0956-7968","type":"print"},{"value":"1469-7653","type":"electronic"}],"subject":[],"published":{"date-parts":[[2001,11]]}}}