A natural semantics for lazy evaluation

John Launchbury
1993 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '93  
We define an operational semantics for lazy evaluation which provides an accurate model for sharing. The only computational structure we introduce is a set of bindings which corresponds closely to a heap The semantics is set at a considerably higher level of abstraction than operational semantics for particular abstract machines, so is more suitable for a variety of proofs. Furthermore, because a heap is explicitly modelled, the semantics provides a suitable framework for studies about space behaviour of terms under lazy evaluation.
doi:10.1145/158511.158618 dblp:conf/popl/Launchbury93 fatcat:7pvp5sukefehrm73ohl3rdss64