Difference between revisions of "Lambda calculus"
Jump to navigation
Jump to search
Line 16: | Line 16: | ||
=Relevant Learning Material= | =Relevant Learning Material= | ||
A nice video<ref>{{:Video/Lambda Calculus - Computerphile}}</ref> tutorial by Hutton is available. An | A nice video<ref>{{:Video/Lambda Calculus - Computerphile}}</ref> tutorial by Hutton is available. An interactive web page to illustrate the working process of [[Lambda calculus]] can be found here: [https://opendsa-server.cs.vt.edu/OpenDSA/Books/PL/html/Syntax.html Syntax of the Lambda Calculus]. | ||
<noinclude> | <noinclude> |
Revision as of 14:15, 13 May 2022
Lambda calculus is a formal language that can serve as a foundation of all general purpose programming languages. It is also a kind of Universal Data Abstraction. Essentially, a lambda calculus is a recursively defined dictionary with just three branches of possible values.
Syntax | Name | Description |
---|---|---|
x | Variable | A character or string representing a parameter or mathematical/logical value. |
(λx.M) | Abstraction | Function definition (M is a lambda term). The variable x becomes bound in the expression. |
(M N) | Application | Applying a function to an argument. M and N are lambda terms. |
Lambda Calculus expressed in Backus-Naur form
Relevant Learning Material
A nice video[1] tutorial by Hutton is available. An interactive web page to illustrate the working process of Lambda calculus can be found here: Syntax of the Lambda Calculus.
References
- ↑ Graham, Hutton (January 28, 2017). Lambda Calculus - Computerphile. local page: Computerphile.