Lazy Call-By-Value Evaluation

by Bernd Bra├čel, Sebastian Fischer, Michael Hanus, Frank Huch, Germán Vidal

Proc. of the International Conference on Functional Programming (ICFP 2007), ACM Press, pp. 265-276, 2007
© ACM Press

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.

PDF (193 KB) BibTeX-Entry