-
Notifications
You must be signed in to change notification settings - Fork 13
/
README
53 lines (33 loc) · 1.46 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
This software allows one to run some experiments with
binary lambda calculus as a vehicle for Algorithmic Information Theory.
To run a lambda calculus machine:
./blc run program_file
where program_file holds the programa text, e.g.
./blc run id.lam
The machine takes its input from stdin, so this works just like cat with no argument.
You can do
make prog.blc
or
make prog.blc8
to compile programs for universal machine uni.lam or the byte oriented uni8.lam
The compiled code is best placed in the bin subdirectory.
Setting environment variable BLCPATH allow ./uni to find binaries there.
Run the bit-oriented universal machine with
./blc run uni.lam [conditional data]
or in absence of conditional data, with
./uni -b
Run the byte-oriented universal machine with
./blc run8 uni8.lam [conditional data]
or in absence of conditional data, with
./uni
Running ./blc without arguments will show all available actions.
./uni -h will show how to see all options and typical uses
See the lambda source files *.lam for more examples.
Implementations of the universal machine in many other languages
may be found at https://rosettacode.org/wiki/Universal_Lambda_Machine
See http://en.wikipedia.org/wiki/Binary_lambda_calculus
for background information and the paper LC.pdf for technical details.
credits:
Module Lambda is derived from Lennart Augustsson's
http://www.augustsson.net/Darcs/Lambda/
Chris Hendrie and Bertram Felgenhauer contributed code and ideas