Skip to content

Instantly share code, notes, and snippets.

@adumont
Created January 4, 2025 19:56
Show Gist options
  • Save adumont/1fbc34d544091b1a63a042aefea9ba9c to your computer and use it in GitHub Desktop.
Save adumont/1fbc34d544091b1a63a042aefea9ba9c to your computer and use it in GitHub Desktop.
SKI Factorial demo
KI CONSTANT ZERO
I CONSTANT ONE
ZERO .N 0
ONE .N \ --> 1
K S K ) S )) S ) CONSTANT SUCC
I K S K ) S )) S )) CONSTANT TWO
TWO SUCC ) CONSTANT THREE
TWO TWO ) CONSTANT FOUR
K K ) K I S ) K ) S )) S K ) S )) K K ) S )) S K ) S )) S )) CONSTANT PAIR
ONE ONE PAIR )) CONSTANT (1,1)
(1,1) .V \ --> 1 1
I K ) K S K ) S )) K K ) S )) S K ) S )) S )) CONSTANT MUL
2ND 1ST MUL K ) S )) S )) 1ST SUCC K ) S )) PAIR K ) S )) S )) CONSTANT PHI
KF (1,1) K ) PHI K ) I S )) S )) S )) CONSTANT FACT
\ MARKER
FOUR FACT ) .N
FOUR .S
FACT .S
) .S
.N
\ 2^3 = 8, 8! = 40320
TWO THREE ) CONSTANT EIGHT
EIGHT FACT ) .N \ --> 40320
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment