Skip to content

Commit d09aa62

Browse files
committed
add section about the interpreter
1 parent 4a43cd4 commit d09aa62

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

README.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Lambda calculus interpreter in PHP.
44

5-
## What?
5+
## Lambda calculus
66

77
Lambda calculus is a very minimal programming language that was invented in
88
1936 by Alonzo Church. It is the functional equivalent of the Turing Machine.
@@ -52,6 +52,19 @@ explicitly group them in parentheses:
5252
Interestingly, lambda calculus is turing complete. Using just these three
5353
concepts you can represent *any* computation.
5454

55+
Check out the links at the bottom for more details on how to do stuff in
56+
lambda calculus.
57+
58+
## Interpreter
59+
60+
This project consists of a lambda calculus expression parser using
61+
[dissect](https://github.com/jakubledl/dissect), and an *eval-apply*
62+
interpreter based on [Matt Might's implementation in
63+
scheme](http://matt.might.net/articles/implementing-a-programming-language/).
64+
65+
For examples of how to do numbers (church encoding), booleans, arithmetic,
66+
boolean logic, looping (recursion), etc. look at `example.php`.
67+
5568
## REPL
5669

5770
This project ships with a read-eval-print-loop that you can use to evaluate

0 commit comments

Comments
 (0)