Abstract

We provide a precise characterization of the strictness properties of the untyped lambda-calculus. Using the notion of head evaluation to model lazy evaluation, we give a definition of strictness appropriate for the lambda-calculus. We establish that strictness is a necessary and sufficient condition for the ‘eager’ evaluation of function arguments. We describe an algorithm for computing strictness properties of convergent terms. We show that the natural classification of if–then–else as strict in its first and, jointly, strict in its second and third arguments is possible only in an applied lambda-calculus that either includes constants or has some form of type structure.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call