|
1 | 1 | <h1 align="center">λ</h1> |
2 | 2 |
|
3 | | -## Lambda Calculus functions implementation on Python |
| 3 | +## Lambda Calculus functions implemented on Python |
| 4 | + |
| 5 | +[Lambda Calculus](https://en.wikipedia.org/wiki/Lambda_calculus) is a kind of mathematical game when you're implementing programming language with only functions that accept exactly one argument and returns exactly one value. Such function named "lambda". Thing is lambda can return another lambda, and it allows you to build everything, even [numbers](https://en.wikipedia.org/wiki/Church_encoding). |
4 | 6 |
|
5 | 7 | This repository contains [lambdas](./lambdas/) with implemented lambdas and [tests](./tests/) with pytest-based tests for it. To run tests execute `pytest`. |
6 | 8 |
|
| 9 | +Implemented: |
| 10 | + |
| 11 | +1. Boolean operations: [code](./lambdas/_bool.py), [tests](./tests/test_bool.py). |
| 12 | +1. Natural numbers: [code](./lambdas/_natural.py), [tests](./tests/test_natural.py). |
| 13 | +1. Pair: [code](./lambdas/_pair.py), [tests](./tests/test_pair.py). |
| 14 | +1. Combinators: [code](./lambdas/_bool.py), [tests](./tests/test_bool.py). |
| 15 | +1. Recursive functions: [code](./lambdas/_recursive.py), [tests](./tests/test_recursive.py). |
| 16 | +1. Signed numbers: [code](./lambdas/_signed.py), [tests](./tests/test_signed.py). |
| 17 | +1. Lists: [code](./lambdas/_list.py), [tests](./tests/test_list.py). |
| 18 | + |
| 19 | +The list below is in order of the recommend implementation. It's recommend to try to do it by yourself, and use this repository as a cheatsheet. |
| 20 | + |
7 | 21 | ## Read more |
8 | 22 |
|
9 | 23 | * [Lambda Calculus on Wikipedia](https://en.wikipedia.org/wiki/Lambda_calculus) |
|
0 commit comments