The A-calculus was invented by Church in the 1930s with the purpose of
sup- plying a logical foundation for logic and mathematics [25]. Its
use by Kleene as a coding for computable functions makes it the first
programming lan- guage, in an abstract sense, exactly as the Thring
machine can be considered the first computer machine [57]. The
A-calculus has quite a simple syntax (with just three formation rules
for terms) and a simple operational seman- tics (with just one
operation, substitution), and so it is a very basic setting for studying
computation properties. The first contact between A-calculus and real
programming languages was in the years 1956-1960, when McCarthy
developed the LISP programming language, inspired from A-calculus, which
is the first "functional" program- ming language, Le., where functions
are first-dass citizens [66]. But the use of A-calculus as an abstract
paradigm for programming languages started later as the work of three
important scientists: Strachey, Landin and B6hm.