elements of programming

the substitution model; function evaluation strategies; termination;
call by name and call by value