タグ

2013年9月11日のブックマーク (4件)

  • Javaで末尾再帰最適化をする。(?) - terazzoの日記

    お題: http://d.hatena.ne.jp/wasabiz/20110118/1295335821 Rubyで末尾再帰最適化をする。 - Homoiconic Days Javaなどの言語では、通常、再帰を使ったプログラムは、呼び出しが深くなるといつかはStack Overflowで実行時エラーになってしまう。それに対して、Schemeなどの関数型言語では、自動で末尾再帰最適化というのをおこなって、Stack Overflowがおこらないようにしているものが多い。(末尾再帰最適化についてはhttp://practical-scheme.net/docs/cont-j.htmlの「末尾再帰と継続」の解説が分かりやすい。) PythonRubyは自動では末尾再帰最適化はおこなっていないが、言語にあるしくみを利用して末尾再帰最適化を後付けすることが出来るらしい。内容をみるとCPS化して

    Javaで末尾再帰最適化をする。(?) - terazzoの日記
    cknbstr
    cknbstr 2013/09/11
    末尾再帰トランポリン化のJava版。AOPでデコレートして、Proxyで継続オブジェクトを返すことで実現している。
  • Practical Scheme

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

    Practical Scheme
  • No internet on Android emulator - why and how to fix?

    cknbstr
    cknbstr 2013/09/11
    emulator options: -dns-server 8.8.8.8,8.8.4.4
  • 【悩み】 空手の道場を経営しているのですが、道場破りされました : 痛いニュース(ノ∀`)

    【悩み】 空手の道場を経営しているのですが、道場破りされました 1 名前: エメラルドフロウジョン(家):2013/09/10(火) 10:30:17.24 ID:n91q63MC0 田舎で空手の道場を経営しているのですが、道場破りされました。 当に道場破りなんて存在するとは思っていなかったので、死ぬほどビビリました。 道場にいる人間全員が組み手で負けてしまったので、今現在道場に看板がない状態です。返してほしいです。 でも道場破りされたので返してともいえず…。 空手で茶帯以上の方にうかがいたいのですが、これって勝手に新しい看板を作ってもいいものでしょうか? でもそれはそれで我々のプライドが許さないような気もします。 http://anond.hatelabo.jp/20130909213415 3 : ミドルキック(SB-iPhone):2013/09/10(火) 10:31:30.26

    【悩み】 空手の道場を経営しているのですが、道場破りされました : 痛いニュース(ノ∀`)
    cknbstr
    cknbstr 2013/09/11