Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Pre-requisites for learning lambda calculus

Can anyone tell me what are the pre-requisites to learning lambda calculus (if any)?

like image 226
Ishihara Avatar asked Dec 27 '10 06:12

Ishihara


People also ask

Is lambda calculus hard?

The majority of functional programming languages at all do not require you to 'learn' lambda calculus, whatever that would mean, lambda calculus is insanely minimal, you can 'learn' its axioms in an under an hour.

Is lambda calculus useful to learn?

Lambda calculus has applications in many different areas in mathematics, philosophy, linguistics, and computer science. Lambda calculus has played an important role in the development of the theory of programming languages. Functional programming languages implement lambda calculus.

What is lambda calculus good for?

Lambda calculus is a notation for describing mathematical functions and programs. It is a mathematical system for studying the interaction of functional abstraction and functional application. It captures some of the essential, common features of a wide variety of programming languages.

What is a model of the lambda calculus?

Models of the untyped λ-calculus may be defined either as reflexive objects in Cartesian closed categories (categorical models) or as combinatory algebras satisfying the five axioms of Curry and the Meyer-Scott axiom (λ-models).


2 Answers

That really depends on what you want to do with the lambda calculus. If you want to learn it just to see how it works there really aren't any prerequisites; it's pretty self-contained. However, if you want to understand any of the proofs about it (Turing-completeness, Church numerals, normalization, etc.) you might need more math prereqs. In particular, I'd suggest a background in inductive proof techniques, especially structural induction. It also might be nice to know a little about either the halting problem or some sort of incompleteness theorem, since some of the fun results with lambda calculus involve non-computability.

like image 137
templatetypedef Avatar answered Sep 18 '22 03:09

templatetypedef


There are no prerequisites for understanding the Lambda Calculus itself. If you are not a computer scientist and don't even know recursion, you can learn the basics of (untyped) Lambda Calculus informally in about 30 minutes here: http://palmstroem.blogspot.de/2012/05/lambda-calculus-for-absolute-dummies.html This should give you a working intuition about what it does and how it works.

If you are familiar with basic mathematical notations and recursive definitions, you can go for a standard introduction. Especially, if you want to learn about the Lambda Calculus as a basis for Haskell, you should delve into the depths of the typed Lambda Calculus: http://www.cse.chalmers.se/research/group/logic/TypesSS05/Extra/geuvers.pdf

like image 28
Weltregierung Avatar answered Sep 17 '22 03:09

Weltregierung