mirror of
https://github.com/jiro4989/ski
synced 2026-01-03 02:24:36 +00:00
No description
| docs | ||
| examples | ||
| src | ||
| tests | ||
| .gitignore | ||
| .travis.yml | ||
| README.adoc | ||
| ski.nimble | ||
:toc: left
:sectnums:
= ski
Library for calculating https://en.wikipedia.org/wiki/SKI_combinator_calculus[SKI combinator].
image:https://travis-ci.org/jiro4989/ski.svg?branch=master["Build Status", link="https://travis-ci.org/jiro4989/ski"]
== 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
== Install
[source,bash]
nimble install ski
== Usage
=== Simple examples
[source,nim]
----
import ski
echo "Sxyz".calculate(combinators)
----
Output is `xz(yz)` .
=== Other examples
See `examples` directory.
Run example code.
==== Calc arguments example
Run
[source,bash]
cd examples/calc_args
nim c -r main.nim Sxyz
Output
Before : Sxyz
After : xz(yz)
==== Read file example
Run
[source,bash]
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
== Document
* https://jiro4989.github.io/ski/ski.html
== Web application of SKI combinator calculator
I created simple SKI combinator calculator on web application.
https://jiro4989.github.io/ski
Javascript library of SKI combinator of the application is generated by this
module (`nimble js`).