Original Article

Acta Informatica

, Volume 43, Issue 1, pp 1-43

First online:

Algebraic Correctness Proofs for Compiling Recursive Function Definitions with Strictness Information

  • Klaus IndermarkAffiliated withLehrstuhl für Informatik 2, RWTH Aachen University Email author 
  • , Thomas NollAffiliated withLehrstuhl für Informatik 2, RWTH Aachen University

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access


Adding appropriate strictness information to recursive function definitions we achieve a uniform treatment of lazy and eager evaluation strategies. By restriction to first-order functions over basic types we develop a pure stack implementation that avoids a heap even for lazy arguments. We present algebraic definitions of denotational, operational, and stack-machine semantics and prove their equivalence by means of structural induction.


Functional languages Evaluation strategies Compiler correctness Formal semantics Stack implementation