Skip to content

Latest commit

 

History

History
114 lines (78 loc) · 1.72 KB

README.adoc

File metadata and controls

114 lines (78 loc) · 1.72 KB

ski

Library for calculating SKI combinator.

Build Status

1. Development

nim -v

Nim Compiler Version 0.19.4 [Linux: amd64]
Compiled at 2019-02-01
Copyright (c) 2006-2018 by Andreas Rumpf
git hash: b6d96cafc8bcad1f3d32f2910b25cd11a93f7751
active boot switches: -d:release

nimble -v

nimble v0.9.0 compiled at 2018-10-27 18:10:03
git hash: couldn't determine git hash

2. Install

nimble install ski

3. Usage

3.1. Simple examples

import ski

echo "Sxyz".calculate(combinators)

Output is xz(yz) .

3.2. Other examples

See examples directory. Run example code.

3.2.1. Calc arguments example

Run

cd examples/calc_args
nim c -r main.nim Sxyz

Output

Before : Sxyz
After  : xz(yz)

3.2.2. Read file example

Run

cd examples/read_file
nim c -r main.nim

Output

Sxyz
  -> xz(yz)
SKxz
  -> Kz(xz)
  -> z
<true>xz
  -> Kxz
  -> x
<false>xz
  -> SKxz
  -> Kz(xz)
  -> z
SKIKSIKIKISKIKIS
  -> KK(IK)SIKIKISKIKIS
  -> KSIKIKISKIKIS
  -> SKIKISKIKIS
  -> KK(IK)ISKIKIS
  -> KISKIKIS
  -> IKIKIS
  -> KIKIS
  -> IIS
  -> IS
  -> S
S<true><true><false>
  -> <true><false>(<true><false>)
  -> K<false>(<true><false>)
  -> <false>
  -> SK

5. Web application of SKI combinator calculator

I created simple SKI combinator calculator on web application.

Javascript library of SKI combinator of the application is generated by this module (nimble js).