November 2017
Intermediate to advanced
670 pages
17h 35m
English

At about the same time as Alonzo Church published his Lambda calculus, Alan Turing introduced the Turing machine, which could perform any computational task, that is, anything Lambda calculus could calculate. Turing completeness is an abstract statement of ability, rather than a prescription of specific language features used to implement that ability. The features used to achieve Turing completeness can be quite different; Fortran systems would use loop constructs or possibly even goto statements to achieve repetition. Pure functional languages like Haskell and Prolog use recursion.