このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

セミナー補足:報告記事とか後悔とか独り言とか

return0のKuwataさんがまとめを書いてくださいました。→ http://return0.dyndns.org/log/2009/01/24

勘違いしてる部分がないとは言えないので、あんまり鵜呑みにしないように。

いえいえ、極めて正確な報告です。ここまでチャンと理解してくれる人が一人でも(もっとイッパイいるならなおさら)僕としては満足。成功だった、と判断してもいいかも*1

僕は、LispJavaScript(ほんのチョビット)のコード例しか出さなかったのですけど、それには理由が2つあって(面倒だというのを入れると3つか); ひとつは特定のプログラミング言語の話だと受け取られるのがイヤだ、という事情。セミナー冒頭で引用した中島先生の言葉にも:

特定のプログラム言語、慣用の計算機システム、ルーティン化したプログラム作成の手順などによって規定される閉じた世界から解き放ち、

とありますからね。

二つ目の理由は、多少の知識と気力があれば、自分の好みの言語やシステムのなかにスノーグローブ現象を発見することはできるだろうし、それこそが最良の練習問題だと思ったからです。KuwataさんはPythonで実例を書いてくれているので、まさに僕が望んだ宿題を即座に遂行してくれたことになっています。

後日セミナーの資料はちゃんと公開されるはずだし、

ウーン、確かにスライドは公開するけど、絵は入ってないのよね。どうせその場で手で描くつもりだから、なんかめんどくさくて。スライドは、価値ある資料とはとうてい言えませんね。参加された方が俺流まとめや感想を書いていただけるなら、そのほうがよほど参考になるでしょう。

高階関数ソースコードコンパイルには実際のところ違いがないと思えてこないか?

そう、そう思えるよね。伝統的数学の流儀のように、いきなり本物の高階関数ガシャンと出すのは現実的な制約から無理だから、一種のコンパイラによりコンパイル済みコード(僕がいった、謎の模様が描かれたカード)を出力し、それを解釈実行系にかけることにより、本物の高階関数とまったく等価なことができるよ、ってことです。

  • f(x, y): リアルワールドでの事象
  • E(f^E(x), y): スノーグローブの中の事象

そうです、そうです。fが、あなたの隣に座っているようなリアルな関数だとすれば、fの入力にxとyを突っこんで出力f(x, y)を得ることはリアルな出来事です。一方、エンジンE自体はリアルな存在だけど、Eは「仮想マイクロコスモス=スノーグローブ」の世界を下支えし、スノーグローブ内の現象を駆動するエンジン。リアルなfのちっちゃな分身を、E上で動かすための台本がf^E(x)なわけ。fの第一引数xのほうは前もってリアルワールドで具体化(バインド)されているが、第二引数yは、後からスノーグローブ内に送り込まれる、って仕掛け。

ところで、みなさんにお絵描き帳を要求しながら、ひもの図が最後にチョットしか出せなかったのはさすがに心残り。ひもの変形操作がラムダ計算と同型になる理由を今ほのめかしておくと、それは、関数コードの実行エンジンEがズルすることが可能だからです。ズルとは、関数コードに書かれた手順の実行にもとの関数自身を呼びだしてしまうことです。ズルしている状況を、Eが作るスノーグローブ内に潜り込んで観察すると、スノーグローブ内から外の世界のリアルな関数に対して神託要求をしていることになります。神様を下請けに使うなんて、とんでもねー野郎ですが、スノーグローブ世界が外の世界とワイヤーでつながるトポロジーを描いて見せたのが最後のほうでチラと出した絵でした。

あとそれと、僕が事前に「なにを話そうか?」と独り言のように書いていた次のエントリーも、いま読めば、なにを考えていたか、およその想像はつくかも知れません(勘のいい人なら)。

[すぐに追記]

トラックバックが2本届いていました。

bonotakeさん、http://d.hatena.ne.jp/bonotake/20090125/1232886475

なんとなく、小学生に筆算を教えるような雰囲気でした。

テーマはスノーグローブ。これをひたすら噛み砕いて説明するのが今回の檜山さんの意図のようです。

方針と意図はまったくそのとおり。事前の知識を仮定せず、メタ巡回する発想に慣れてない人を対象として想定したので、「この自分を外の自分が観測する」とか「自分が内側の自分をいじる」とかの感覚を体験して欲しかったのです。

rst76さん、http://d.hatena.ne.jp/rst76/20090125/1232899633

いよいよラムダというところで、時間切れに。→次回も参加します。

7 時までに帰る約束だったので、終わった後の食事会に行けず。→次回は参加します。

次回参加表明、ありがとうございます :-) それにしても、予定の立て方や時間配分には大いに問題があります。反省しているし、対策を考えようと思ってます。

[さらに追記 date="2009-01-29"]

次のトラックバックもいただきました。

「あおむけマカロニ」は、セミナー内でおこなったエクササイズのことですね :-) oto-oto-otoさんの疑問にはお答えするつもりですが、今日はちょっと難しいな。[追記]なんとか今日(2009-01-29)書いた。[/追記]

*1:ただし、シャベリの出来はロクでもなくて、時間配分がまったく守れないとか、質疑応答の時間を入れるのを忘れるとか悔やまれることばかり。