Lambda Calculus

Post on 06-Jan-2016

39 views 0 download

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

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

Lambda Calculus

Introduction

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.

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

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

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

negative

Alonzo Church1903-1995

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

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)

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

Bletchley Park

The Enigma Cryptographic Device

Turing designed the Bombe machine to decrypt Enigma messages.

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

The Calculus

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

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

<application> := <expression> <expression>