Semantics of Functional Features
Thérèse Hardin, Mathieu Jaume, François Pessaux, Véronique Viguié Donzeau-Gouge · 2021
This chapter examines the semantics of the constructs that form the kernel of functional languages. It presents several methods for expressing the meaning of these constructs, along with different ways of describing their semantics. The execution semantics of a programming language describes the execution of all syntactically correct programs in this language. In a language using lexical scope, the function body is only evaluated when the function in question is applied to an actual parameter. Operational semantics describes the specification of a language's compiler through a set of inference rules. Operational semantics allows us to safely ignore certain constraints, such as the order of evaluation of arguments in an operator. The chapter examines the determinism of the evaluation function with the call-by-value strategy. It presents the usual techniques used to prove semantic properties over expressions in a programming language.