好評だったので、(といってもtwitterで5,6人にリツイートされただけですが) 今回は、ラムダ計算を日本語で作ってみました。 :- op(1200,xfx,ならば). :- op(1000,xfy,かつ). :- op(750,xfx,[の環境で]). :- op(720,xf,[の要素]). :- op(700,xfx,が). :- op(700,xfx,[を評価すると,の型は]). :- op(20,xf,[で関数適用,が変数,が整数]). :- op(10,xfx,[を]). term_expansion(A ならば B,B:-A). A,B ならば A かつ B. integer(A) ならば A が整数. atom(A) ならば A が変数. B is A ならば A が B. A が (_,A) の要素. A が E の要素 ならば A が (E,_) の要素. % 評価規