Categorygithub.com/planetlambert/combinator
repositorypackage
0.0.0-20240415013418-b0efa08c3032
Repository: https://github.com/planetlambert/combinator.git
Documentation: pkg.go.dev

# README

Combinator

A complete and open source implementation of Moses Schönfinkel's 1924 paper - On the Building Blocks of Mathematical Logic.

Guide

See the section-by-section guide to the paper here.

Progress

Usage

go get github.com/planetlambert/combinator@latest
import (
    "context"
    "fmt"

    "github.com/planetlambert/combinator"
)

func main() {
    ctx := context.Background()

    // Use a built-in basis (SKI in this example)
    transformedStatement, _ := combinator.SKI.Transform(ctx, "S(K(SI))Kab")

    // Prints "ba" - S(K(SI))K is the "reversal" combinator
    fmt.Println(transformedStatement)

}

Go Package Documentation here.

Testing

go test ./...