Skip to content

planetlambert/combinator

Repository files navigation

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 ./...

About

A reference implementation of Moses Schönfinkel's 1924 paper, On the Building Blocks of Mathematical Logic

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages