In[]:=
ResourceFunction["SKCombinatorCompile"]
Out[]=
{or->s[s][k],and->s[s[s]][s][s[k]]}
In[]:=
ResourceFunction["SKCombinatorCompile"][or[and[or[p][and[q][r]]][p]][q],{p,q,r},"SKGlyphs"{s,k}]/.{or->s[s][k],and->s[s[s]][s][s[k]]}
Out[]=
s[s[k[s]][s[k[s[k[s]]]][s[k[s[k[s[k[s[s][k]]]]]]][s[s[k[s]][s[k[s[k[s]]]][s[k[s[k[s[k[s[s[s]][s][s[k]]]]]]]][s[s[k[s]][s[k[k]][s[k[s]][s[k[k]][s[s][k]]]]]][k[s[s[s]][s][s[k]]]]]]]][s[k[k]][k]]]]]][k[k]]
{pk,ps[k],qk,qs[k],rk,rs[k]}
In[]:=
(ResourceFunction["SKCombinatorCompile"][or[and[or[p][and[q][r]]][p]][q],{p,q,r},"SKGlyphs"{s,k}]/.{or->s[s][k],and->s[s[s]][s][s[k]]})[p][q][r]
Out[]=
s[s[k[s]][s[k[s[k[s]]]][s[k[s[k[s[k[s[s][k]]]]]]][s[s[k[s]][s[k[s[k[s]]]][s[k[s[k[s[k[s[s[s]][s][s[k]]]]]]]][s[s[k[s]][s[k[k]][s[k[s]][s[k[k]][s[s][k]]]]]][k[s[s[s]][s][s[k]]]]]]]][s[k[k]][k]]]]]][k[k]][p][q][r]
In[]:=
ResourceFunction["MultiwayCombinator"][{s[x_][y_][z_]x[z][y[z]],k[x_][y_]x,pk,ps[k],qk,qs[k],rk,rs[k]},%392,3,"StatesGraphStructure",GraphLayout"LayeredDigraphEmbedding",AspectRatio1/2]
Out[]=
In[]:=
HighlightGraph[ResourceFunction["MultiwayCombinator"][{s[x_][y_][z_]x[z][y[z]],k[x_][y_]x,pk,ps[k],qk,qs[k],rk,rs[k]},%392,3,"StatesGraphStructure",GraphLayout"LayeredDigraphEmbedding",AspectRatio1/2],Style[{"k"}]]
Out[]=
In[]:=
HighlightGraph[ResourceFunction["MultiwayCombinator"][{s[x_][y_][z_]x[z][y[z]],k[x_][y_]x,pk,ps[k],qk,qs[k],rk,rs[k]},%392,3,"StatesGraphStructure",GraphLayout"LayeredDigraphEmbedding",VertexLabelsAutomatic,AspectRatio1/2],Style[{"k"}]]
In[]:=
With[{g=ResourceFunction["MultiwayCombinator"][{s[x_][y_][z_]x[z][y[z]],k[x_][y_]x,pk,ps[k],qk,qs[k],rk,rs[k]},%392,7,"StatesGraphStructure"]},Graph[g,GraphLayout"LayeredDigraphEmbedding",VertexLabels(If[StringLength[#]<5,##,Nothing]&/@VertexList[g]),AspectRatio1/2]]
Out[]=
In[]:=
cb=(ResourceFunction["SKCombinatorCompile"][or[p][and[q][p]],{p,q,r},"SKGlyphs"{s,k}]/.{or->s[s][k],and->s[s[s]][s][s[k]]})[p][q]
Out[]=
s[k[s[k[k]]]][s[s[k[s]][s[k[k]][s[s][k]]]][s[k[s[s[s[s]][s][s[k]]]]][k]]][p][q]
In[]:=
With[{g=ResourceFunction["MultiwayCombinator"][{s[x_][y_][z_]x[z][y[z]],k[x_][y_]x,pk,ps[k],qk,qs[k]},cb,7,"StatesGraphStructure"]},Graph[g,GraphLayout"LayeredDigraphEmbedding",VertexLabels(If[StringLength[#]<5,##,Nothing]&/@VertexList[g]),AspectRatio1/2]]
Out[]=
In[]:=
With[{g=ResourceFunction["MultiwayCombinator"][{s[x_][y_][z_]x[z][y[z]],k[x_][y_]x,pk,ps[k],qk,qs[k]},cb,4,"StatesGraphStructure"]},Graph[g,GraphLayout"LayeredDigraphEmbedding",VertexLabels(If[StringLength[#]<5,##,Nothing]&/@VertexList[g]),AspectRatio1/2]]
Out[]=
Hacked combinators
Hacked combinators