A clear, lambda-based view of turning programs into math objects you can reason about. This book presents a model where programs are represented by lambda-expressions, so programming semantics become pure lambda-calculus semantics without adding machine details. It aims to show how a program’s input-output behavior can be captured and analyzed purely through functional representations.
The work argues for a model that avoids memory or fetch-and-store concepts, keeping assignments as substitutions within the lambda framework. It also demonstrates how high-level language constructs, like ALGOL 60 features, can be translated directly into lambda-expressions and reduced to meaningful results. The approach emphasizes simplicity and intuitive justification, while offering ways to trace execution steps through a modified reduction process.
- Programs are represented by lambda-expressions that capture input-output behavior as functions.
- Reduction and normal forms show how programs compute, without simulating machine state.
- High-level constructs, including loops, conditionals, and even certain ALGOL 60 features, map to lambda-transforms.
- The model supports tracing execution steps and can extend to other language features.
Ideal for readers of programming language theory and formal models who want a purely functional perspective on program representation.