Compare commits
2 Commits
73f4c60c06
...
acbc247e10
Author | SHA1 | Date |
---|---|---|
Mark | acbc247e10 | |
Mark | 907d2d9e79 |
25
README.md
25
README.md
|
@ -1,4 +1,4 @@
|
||||||
# Lamb: A Lambda Calculus Engine
|
# 🐑 Lamb: A Lambda Calculus Engine
|
||||||
|
|
||||||
- [Primary Repo](https://git.betalupi.com/Mark/lamb)
|
- [Primary Repo](https://git.betalupi.com/Mark/lamb)
|
||||||
- [Github Mirror](https://github.com/rm-dr/lamb)
|
- [Github Mirror](https://github.com/rm-dr/lamb)
|
||||||
|
@ -7,7 +7,17 @@
|
||||||
![Lamb demo](https://betalupi.com/static/git/lambdemo.gif)
|
![Lamb demo](https://betalupi.com/static/git/lambdemo.gif)
|
||||||
|
|
||||||
|
|
||||||
## Installation
|
## :brain: What is lambda calculus?
|
||||||
|
|
||||||
|
- [video 1](https://www.youtube.com/watch?v=3VQ382QG-y4): Introduction and boolean logic. The first few minutes are a bit confusing, but it starts to make sense at about [`6:50`](https://youtu.be/3VQ382QG-y4?t=400)
|
||||||
|
|
||||||
|
- [video 2](https://www.youtube.com/watch?v=pAnLQ9jwN-E): Continuation of video 1. Features combinators and numerals.
|
||||||
|
|
||||||
|
- [blog](https://www.driverlesscrocodile.com/technology/lambda-calculus-for-people-a-step-behind-me-1): Another introduction. Moves slower than the two videos above and doesn't assume CS knowledge. Four-part series.
|
||||||
|
|
||||||
|
- [handout](https://nc.betalupi.com/s/ormc-handouts/download?path=%2FAdvanced&files=Lambda%20Calculus.pdf): A handout I've written on lambda calculus. Solutions are available somewhere on `git.betalupi.com`. You'll have to find them yourself if you want them.
|
||||||
|
|
||||||
|
## :package: Installation
|
||||||
|
|
||||||
### Method 1: [PyPi](https://pypi.org/project/lamb-engine)
|
### Method 1: [PyPi](https://pypi.org/project/lamb-engine)
|
||||||
1. *(Optional but recommended)* make and enter a [venv](https://docs.python.org/3/library/venv.html)
|
1. *(Optional but recommended)* make and enter a [venv](https://docs.python.org/3/library/venv.html)
|
||||||
|
@ -27,10 +37,10 @@
|
||||||
|
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
|
||||||
## Usage
|
## 📖 Usage
|
||||||
|
|
||||||
|
|
||||||
Type lambda expressions into the prompt, and Lamb will evaluate them. \
|
Type expressions into the prompt, and Lamb will evaluate them. \
|
||||||
Use your `\` (backslash) key to type a `λ`. \
|
Use your `\` (backslash) key to type a `λ`. \
|
||||||
To define macros, use `=`. For example,
|
To define macros, use `=`. For example,
|
||||||
```
|
```
|
||||||
|
@ -69,7 +79,7 @@ Have fun!
|
||||||
|
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
|
||||||
## Commands
|
## :card_file_box: Commands
|
||||||
|
|
||||||
Lamb understands many commands. Prefix them with a `:` in the prompt.
|
Lamb understands many commands. Prefix them with a `:` in the prompt.
|
||||||
|
|
||||||
|
@ -108,6 +118,7 @@ The lines in a file look exactly the same as regular entries in the prompt, but
|
||||||
- Loop detection
|
- Loop detection
|
||||||
- α-equivalence check
|
- α-equivalence check
|
||||||
- Unchurch command: make church numerals human-readable
|
- Unchurch command: make church numerals human-readable
|
||||||
- Better Syntax highlighting
|
- Better syntax highlighting
|
||||||
- Complete file names and commands
|
- Tab-complete file names and commands
|
||||||
|
- Load default macros without manually downloading `macros.lamb` (via `requests`, maybe?)
|
||||||
- Tests
|
- Tests
|
Reference in New Issue