コンビネータ

コンビネータ一覧表

この間Gaucheで作ったラムダ式からの変換プログラム(とその後の調査)からわかったことを表にまとめてみた。 name in out memo I x x S K _ , W K , C K _ , R _ K M x x x O I , W I , W T Y x x (Y x) M2 L , U U , M2 (B M2 B) i x x S K V S K , S (O (K …

ラムダ式からの変換

Schemeのラムダ式に対応するコンビネータ表記を求めるプログラムを作った。 使い方 lambdaをlambdaccにして、通常のlambdaと同じように引数と本体を与える。 gosh> (lambdacc (x y z) (x (y z))) B gosh> (lambdacc (x y) (x (y y))) (C B M) ソースコード (…

Yコンビネータいろいろ

Yf=f(Yf)となるYをいろいろなコンビネータで書いたもの Y=UU Uxy=y(xxy)を使うとY=UUと書ける Yf=UUf =f(UUf) =f(Yf)U=S(K(SI))(SII)を使ってYをSKIだけで書くと Y=S(K(SI))(SII)(S(K(SI))(SII)) 使用関数14個 Y=SLL Lxy=x(yy)を使うとY=SLLと書ける Yf=SLLf…