Evaluation Strategy and Translation of Environment Calculus

The environment is one of the execution states in programming language processors. The first-class environment is a reflective programming facility which enables us to use meta-level environments as object-level entities, and inversely, to use the object-level environments as meta-level entities. We named a lambda calculus with first-class environments the environment calculus, and studied various systems of the environment calculus. PCF (Programming Computable Functions) is a simply typed lambda calculus with natural numbers, Boolean values, and recursive operators, which was proposed as a formal framework for the semantical study of evaluation strategies.In this paper, we introduce an extended system of PCF with first-class environments and study evaluation strategies, such as call-by-name and call-by-value strategies.