Lazy Call-By-Value Evaluation

Bernd Brassel, Sebastian Fischer, Michael Hanus, Frank Huch, Germán Vidal

12th ACM SIGPLAN International Conference on Functional Programming (ICFP 2007), SIGPLAN Notices 42(9): 265-276, ACM Press, 2007.

Designing debugging tools for lazy functional programming languages is a complex task which is often solved by expensive tracing of lazy computations. We present a new approach in which the information collected as a trace is reduced considerably (kilobytes instead of megabytes). The idea is to collect a kind of step information for a call-by-value interpreter, which can then efficiently reconstruct the computation for debugging/viewing tools, like declarative debugging. We show the correctness of the approach, discuss a proof-of-concept implementation with a declarative debugger as back end and present some benchmarks comparing our new approach with the Haskell debugger Hat.

Available: PDF preprint / BibTeX entry


Germán Vidal