For debugging, terms ^X
for any X are
irreducible markers, and `X
produce a side effect.
Step limit
Steps
Filter:
Sample programs
- Pluck the 4th element from the arguments
- delve 3 ^A ^B ^C ^D ^E ^F
- Pick abstraction with Church booleans
- if not or true false (^A) (^B)
- Add 2 and 1 as Church numerals
- add 2 1
- Add 3 to first element of pair ("first" to get it out)
- map-pair (add 3) pair 1 2
- Side-effect 6 times for testing
- apply 6 (tally)
- Duplicate all inputs on right
- apply Y (copy under (apply) swap) ^A ^B ^C
- Count forever
- apply Y (under (apply swap) copy add 1 swap) 0
- Count forever (bind)
- apply Y (bind (f) (bind (y) (y apply f y) add 1)) 0
- Fibonacci sequence
- apply Y (bind (f) (bind (x) (bind (y) (bind (z) (x apply f z x) add x y)))) 1 0
- Factorials (up to 24 at step limit 1000)
- apply Y (bind (f) (bind (x) (bind (y) (bind (z) (z apply f z add 1 y) mul x y)))) 1 1
Predefined named terms