あいかわらずものまね鳥の本はよー分からんが、Yコンビネータの構成方法は分かった。
Lxy = x(yy) という Lコンビネータ(Lark ヒバリ)を使用した
Lx(Lx) // x(Lx(Lx))
または以下のチューリングコンビネータを使用した
Uxy=y(xxy)
UUx // x(UUx)
schemeなどの値呼びではyyがすぐに展開されると無限ループになるので、ラムダで括ってやるような工夫が必要。
Haskellとか遅延評価で小細工は必要ないけど、yyの部分で型が解決出来ないのでそのままでは実装出来ないらしい。
ままならぬ。
SICPの遅延評価つきschemeなら一番素直に実装出来るのかいな。