Lambda Calculus

8
Spring, 2011 –– Computational Thinking – Dennis Kafura – CS 2984 Lambda Calculus Introduction

description

Lambda Calculus. Introduction. History. Gottfried Wilhelm Leibniz (1646 - 1716). "It is unworthy of excellent men to lose hours like slaves in the labour of calculation which could safely be regulated to anyone else if machines were used.". Stepped Reckoner. - PowerPoint PPT Presentation

Transcript of Lambda Calculus

Page 1: Lambda Calculus

Spring, 2011 –– Computational Thinking – Dennis Kafura – CS 2984

Lambda Calculus

Introduction

Page 2: Lambda Calculus

Spring, 2011 – Computational Thinking – Dennis Kafura – CS 2984

HistoryGottfried Wilhelm Leibniz (1646 - 1716)

"It is unworthy of excellent men to lose hours like slaves in the labour of calculation which could safely be regulated to anyone else if machines were used."

Stepped Reckoner

Sought a formal language for a machine to determine the truth of mathematical statements.

Page 3: Lambda Calculus

Spring, 2011 – Computational Thinking – Dennis Kafura – CS 2984

Entscheidungsproblem

The “decision problem” (1928):

Find an algorithm which takes as input a description of a formal language and a mathematical statement expressed in that language and outputs true or false depending on the mathematical validity of the statement.

David Hilbert

William Ackermann

Page 4: Lambda Calculus

Spring, 2011 – Computational Thinking – Dennis Kafura – CS 2984

Alonzo Church Church’s Theorem (1936) Answered the decision problem in the

negative

Alonzo Church1903-1995

Page 5: Lambda Calculus

Spring, 2011 – Computational Thinking – Dennis Kafura – CS 2984

Alonzo Church

Defined the Lambda () Calculus - a language foundation for computing

Led to family of functional programming languages

Page 6: Lambda Calculus

Spring, 2011 – Computational Thinking – Dennis Kafura – CS 2984

Alan Turing

Alan Turing1912-1954

Independently answered the decision problem in the negative

Defined the Turing Machine – a machine foundation for computing

Led to Von Neumann computers and family of imperative programming languages

Work at Bletchley Park in WW2 Died by suicide (apple laced with cyanide)

Page 7: Lambda Calculus

Spring, 2011 – Computational Thinking – Dennis Kafura – CS 2984

Bletchley Park

The Enigma Cryptographic Device

Turing designed the Bombe machine to decrypt Enigma messages.

Page 8: Lambda Calculus

Spring, 2011 – Computational Thinking – Dennis Kafura – CS 2984

The Calculus

<expression> := <name> | <function> | <application>

<function> := <name> . <expression>

<application> := <expression> <expression>