This project is a combinatory logic playground.
- resolve abstraction, (for example [x,y,z].xz(yz) -> S),
- weak reduction, (for example (SKK)x -> x).
- Infinite recursion (for example SII(SII)).
- Start sbt.
- Type run. REPL prompt will be appeared.
- Type your expression then enter.
- Abstractions and weak reduction will be applied.
- Type "q:" without quotas for exit.
There is an abstraction with multiple binds supported here. Abstraction may be in arbitatrary position of the term.
- [x].x
- SK([x].x)K
- S([x,y,z].zy)K
- ([x].x)([x].y)KL([z].K)K