タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

programmingとtutorialとcontinuationに関するjjzakのブックマーク (4)

  • Shibuya.js: ActionScript でクロージャ、継続渡し : torus solutions!

    Shibuya.js Technical Talk #2 で、 発表をさせていただきました。ありがとうございました。 5 分の中にいろいろ詰め込もうとしたら、 訳の分からない発表になってしまいました。 発表者やスタッフのみなさんお疲れさまでしたー。 今回の発表では、 まず ActionScript(JavaScript)でのクロージャと継続渡しスタイルの実装方法の説明をし、 その後、 A* アルゴリズムというグラフの最短経路探索アルゴリズムを例にとって、 クロージャや継続渡しスタイルの便利さをアピールしようとしました。 発表資料 当日使った発表資料をおいておきます。 スライドの PDF デモの Flash(SWF) デモの ActionScript ソース Flash 8 を持っていれば、次の Fla ファイルを使ってデモを試すことが出来ます。 (Flash 8 の体験版 でも OK です

  • 継続渡し形式(CPS)Javascriptプログラミング

    継続とはコンピュータがプログラムを実行しているときの次に何をするのかを表す概念です。詳しくは何でも継続のページを参照し欲しいのですが、継続はプログラムを実行する上で欠かせない存在となっています。ソースコードのある行を実行したら次の行を実行します。関数(サブルーチン)を終了したら、呼び出し元に戻ります。これらは全て継続です。あたりまえと言えばあたりまえのことです。しかし、このあたり前のことを明確に意識しようとすると途端に目の前に霞がかかったようになります。 プログラミングの世界の概念には、禅の公案のようなものがある。それを説明する文章はほんの一文なのに、最初に目にする時、その文は全く意味をなさない、暗号のように感じられる。だがひとたびその概念を理解すると、その概念の説明は確かにその一文で説明されているのがわかるのだ。 そんな、「分かれば分かる」という禅問答の中でも「継続」は最も謎めいたもの

  • 本を読む FizzBuzzとGaucheで学ぶ継続の基礎

    先日は酔った勢いで「FizzBuzzとGaucheで学ぶ遅延評価の基礎の基礎」ってエントリを書いてみました。今回は、再び酔った勢いで、同じネタから継続渡しスタイル(CPS:Continuation Passing Style)に挑戦してみます。 言語は今回もSceme(Gauche)です。継続渡しスタイルの知識は、「プログラミングGauche」と「まるごとJavaScript&Ajax!」の受け売り(劣化コピー)ですので、勘違いがあったらご指摘ください。 遅延評価と継続渡しの比較 遅延評価編では、無限ループを避けるために遅延評価を使いました。無限ループを避けるための方法としては、ほかに、継続渡しによる呼び出しトランポリンを使った方法があるみたいです。 とてもおおざっぱにいうと、遅延評価は関数型プログラミングで、継続渡しは手続き型プログラミングなんだそうです。 まず手続き型っぽく書いてみる

  • Route 477(2007-06-20)

    ■ [ruby][event] Ruby勉強会@関西-16「30分でわかるcallccの使い方」 先週末のRuby勉強会@関西で、Rubyにおけるcallccの使い方について発表させていただきました。 スライド: pdf ppt 継続の説明については「なんでも継続」がよく参照されるんだけど、 ちょっと説明がボトムアップすぎると思うので(僕も最初に読んだときは全然分からなかった)、「callccで何ができるか」という応用面から攻める 構成にしてみました。 最初は「継続かわいいよ継続」「それをすてるなんてとんでもない」と思ってたんだけど、 いろいろ調べてるうちになんでcallccが嫌われるのかが理解できてしまった。callccはかわいいけど、非常に手のかかる奴らしい。 しかも、面白い利用例はいっぱいあるけど実用的な例があんまりないんだよね^^;。 callccが無くなるとRubyの「かっこよさ

    Route 477(2007-06-20)
  • 1