13,99 €
The book contains an introduction to the Lambda Calculus as the theoretical foundation of all 'Functional Programming' languages. The Lambda Calculus has been created by the American logician Alonzo Church in the 1930's and is documented in his works published in 1941 under the title 'The Calculi of Lambda Conversion'. Alonzo Church wanted to formulate a mathematical logical system and had no intent to create a programming language. The intrinsic relationship of his system to programming was discovered much later in a time in which programming of computers became an issue. The book 'A++ and the Lambda Calculus' also contains a brief introduction to the educational programming language A++, a minimal programming language that has been built with the Lambda Calculus as its foundation. The purpose of A++ is to serve as a learning instrument rather than as a programming language used to solve practical problems. A++ is supposed to be an excellent tool to become familiar with the core of programming and with programming patterns that can be applied in other languages needed to face the real world. A++ is presented in greater detail in the books: 'A++ The Smallest Programming Language in the World' (978-3-7469-3021-3) and in 'Programmieren lernen mit A++' (978-3-7469-3199-9).
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 41
Veröffentlichungsjahr: 2018
A++ and the Lambda Calculus
Georg P. Loczewski
Principles of Functional Programming
IMPRESSUM
Copyright ©2018 Georg P. Loczewski
A++ and the Lambda Calculus
The book was set by the author using the LATEX typesetting system and was printed and bound in the Federal Republic of Germany.
1st. Edition 2018
tredition GmbH, Hamburg
ISBN
978-3-7469-3811-0 (Paperback)
978-3-7469-3809-7 (Hardcover)
978-3-7469-3810-3 (e-Book)
See also A++ The Smallest Programming Language in the World[29]
The author and publisher make no warranty of any kind, expressed or implied, with regard to these programs or the documentation contained in this book. The author and publisher shall not be liable in any event for incidental or consequential damages in connection with the use of these programs.
All rights reserved. No part of this book may be reproduced in any form by any electronic or mechanical means (including photocopying, recording, or information storage and retrieval) without permission in writing from the publisher and the author.
The book was set by the author using the LATEX typesetting system and was printed and bound in the Federal Republic of Germany.
To my wife Ursula and my sons Thomas and Johannes dedicated in love.
The Lambda Calculus has been created by the American logician Alonzo Church in the 1930’s and is documented in his works published in 1941 under the title ‘The Calculi of Lambda Conversion’.
Alonzo Church wanted to formulate a mathematical logical system and had no intent to create a programming language. The intrinsic relationship of his system to programming was discovered much later in a time in which programming of computers became an issue.
DEFINITION 1 (LAMBDA CALCULUS)
The Lambda Calculus defines the laws for the formulation and conversion of lambda expressions.
As a mathematical logical system the Lambda Calculus is covered in detail in [2] and less comprehensively but in a more readable form in [34]. A clear account of the historical origins and basic properties of the lambda calculus is presented by Curry and Fey in their book [12]. This view is taken from [21] page 23.
From the programmer’s point of view the Lambda Calculus is adressed in [21], [22], [3].
The syntax of lambda expressions is defined as follows:
The Lambda Calculus therefore includes three diffenrent types of lambda expressions:
•variables (referencing lambda expressions)
•lambda abstractions (defining functions)
•applications (invoking functions)
Remark:
The parentheses in the syntax of an application are not mandatory. This results from the law of associativity for applications introduced below.