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.
Inhaltsverzeichnis
I. Syntax. - 1. The Parametric ? -Calculus. - 2. The Call-by-Name ? -Calculus. - 3. The Call-by-Value ? -Calculus. - 4. Further Reading. - II. Operational Semantics. - 5. Parametric Operational Semantics. - 6. Call-by-Name Operational Semantics. - 7. Call-by-Value Operational Semantics. - 8. Operational Extensionality. - 9. Further Reading. - III. Denotational Semantics. - 10. ? ? -Models. - 11. Call-by-Name Denotational Semantics. - 12. Call-by-Value Denotational Semantics. - 13. Filter ? ? -Models and Domains. - 14. Further Reading. - IV. Computational Power. - 15. Preliminaries. - 16. Representing Functions.