タグ

callccに関するk1mのブックマーク (2)

  • callccによる排中律の証明 - sumiiのブログ

    Wadlerのパクリ。というか劣化コピー。 悪魔:「あなたが私と契約してくれたら、(A)『私があなたに一億円をあげる』、(B)『あなたが私に一億円をくれたら、どんな願いでもかなえてあげる』のどちらかをして差し上げます。(A)と(B)のどちらにするかは、私が決めます。」 人間:「どちらにせよ害はなさそうなので、じゃあ契約します。」 悪魔:「はい、では私は(B)を選びます。」 人間:「やっぱりそう来るか。でも一億円なんて持ってないし、まあいいや。」 (十年後) 人間:「気になってしょうがないので、悪いことをして一億円を集めました。だから願いをかなえてください。」 悪魔:「そりゃどうも(と一億円を受け取る)。では私は(A)を選びます。はいどうぞ(と一億円を返す)。」 ICFP 2003の会場ではWadlerとShiversが壇上で寸劇をやりました(当)。λ式で書くと callcc(λk:¬(T

    callccによる排中律の証明 - sumiiのブログ
  • なんでも継続

    Shiro Kawai まだ下書き Schemeの特徴をあげるときに、「継続」や「call/cc」が出て来ないことはない。 でも、R5RSのcall/ccの項をいくら読んでも、どうもよくわからない。 call/ccを使えばC言語のbreakみたいなのとか、コルーチンとかいう スレッドもどきとかが書ける、というのはわかったけど、一体そういうのが書けて 何が嬉しいのか、そこんとこがピンと来ないんだ。 今、そこにある継続 プログラミングの世界の概念には、禅の公案のようなものがある。 それを説明する文章はほんの一文なのに、最初に目にする時、 その文は全く意味をなさない、暗号のように感じられる。 だがひとたびその概念を理解すると、 その概念の説明は確かにその一文で説明されているのがわかるのだ。 そんな、「分かれば分かる」という禅問答の中でも 「継続」は最も謎めいたものの一つと言えるだろう。 文献を

  • 1