Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gtramontina/lambda

Fun with λ calculus!
https://github.com/gtramontina/lambda

es6 es6-javascript functional functional-programming javascript lambda lambda-calculus

Last synced: 19 days ago
JSON representation

Fun with λ calculus!

Awesome Lists containing this project

README

        

λ

## Fun with Lambda Calculus in JS

[![Build Status](https://travis-ci.org/gtramontina/lambda.svg?branch=master)](https://travis-ci.org/gtramontina/lambda)

### Exploring:

```shell
$ node lambda.js
```

### Fiddling with it (`npm install` first):

```shell
$ npm test
```

---

#### Notes:

1. These are functions _all the way_, so expect your stack to grow real quick! :smile: You can increase it if you want with node's parameter `--stack-size=`, as you can see in the test npm script.

2. I cheated a bit when using named lambda abstractions (for the sake of readability)

#### References:

* [Lambda Calculi, by Shane Steinert-Threlkeld](http://www.iep.utm.edu/lambda-calculi/)
* [Lambda Calculus - Wikipedia](https://en.wikipedia.org/wiki/Lambda_calculus)
* [Church Encoding - Wikipedia](https://en.wikipedia.org/wiki/Church_encoding)
* [Programming with Nothing](https://codon.com/programming-with-nothing), by [@tomstuart](https://github.com/tomstuart)
* [Fun with the Lambda Calculus](https://www.youtube.com/watch?v=QPqoFCHpLF4), by [@coreyhaines](https://github.com/coreyhaines)
* [Types and Programming Languages (chapter 5, "The Untyped Lambda-Calculus") ](https://www.cis.upenn.edu/~bcpierce/tapl/), by [Benjamin C. Pierce](https://en.wikipedia.org/wiki/Benjamin_C._Pierce)

---

I hope you enjoy reading it as much as I enjoyed doing it! :heart: Perhaps you could add more examples…? :smile: