ski

ski is library for SKI combinator.


Keywords
ski, combinator, library, lib, nim
License
MIT
Install
nimble install ski

Documentation

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