Combinator
A reference implementation of Moses Schönfinkel's 1924 paper, On the Building Blocks of Mathematical Logic
Install / Use
/learn @planetlambert/CombinatorREADME
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
- [X] Introduction by Quine
- [X] Section 1
- [X] Section 2
- [X] Section 3
- [X] Section 4
- [X] Section 5
- [X] Section 6
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 ./...
