Stepping Lazy Programs

Computer Science – Programming Languages

Scientific paper

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

submitted to ICFP 2011

Scientific paper

Debugging lazy functional programs poses serious challenges. In support of the "stop, examine, and resume" debugging style of imperative languages, some debugging tools abandon lazy evaluation. Other debuggers preserve laziness but present it in a way that may confuse programmers because the focus of evaluation jumps around in a seemingly random manner. In this paper, we introduce a supplemental tool, the algebraic program stepper. An algebraic stepper shows computation as a mathematical calculation. Algebraic stepping could be particularly useful for novice programmers or programmers new to lazy programming. Mathematically speaking, an algebraic stepper renders computation as the standard rewriting sequence of a lazy lambda-calculus. Our novel lazy semantics introduces lazy evaluation as a form of parallel program rewriting. It represents a compromise between Launchbury's store-based semantics and a simple, axiomatic description of lazy computation as sharing-via-parameters. Finally, we prove that the stepper's run-time machinery correctly reconstructs the standard rewriting sequence.

No associations

LandOfFree

Say what you really think

Search LandOfFree.com for scientists and scientific papers. Rate them and share your experience with other people.

Rating

Stepping Lazy Programs does not yet have a rating. At this time, there are no reviews or comments for this scientific paper.

If you have personal experience with Stepping Lazy Programs, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Stepping Lazy Programs will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFWR-SCP-O-376931

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.