エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ここにツイート内容が記載されますhttps://b.hatena.ne.jp/URLはspanで囲んでください
Twitterで共有ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
テスト期間だし、なんか作っとかないとね。 ということで、最近話題のYコンビネータとかそこらへんの話...テスト期間だし、なんか作っとかないとね。 ということで、最近話題のYコンビネータとかそこらへんの話に絡めて、ラムダ計算のインタプリタ作ってYコンビネータ動かそうぜ、っていう。前に書いたラムダ計算インタプリタは、データの形式を入力形式そのままで引き回していたので、割とカオスなことになったので、今回はパーサ、構文木、など適当に部品化してみた。 記法 λxyz. xz(yz) <==> '(λ (x y z) x z (y z)) Gaucheは全角文字がシンボルとして使えるのでスバラシイですね! β簡約 Pでラムダ式をパースして、BBでいけるところまでベータ簡約しつづける(発散する場合は打ち切る)、ppで表示、という流れ。gosh> (pp (BB (P '((λ (x y) x y z) a)))) λ y. a y z 適宜α変換もしてくれる (λxy. xy)y => (λ y. yy