タグ

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

  • 関連タグはありません

タグの絞り込みを解除

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

  • callcc-lib

    Non trivial examples of Continuation of Ruby co-thread.rb (CoThread: a generic library -- step-wise threading) proc.rb (Proc by Continuantion) co-queue.rb (Queue by Continuation) co-sizedqueue.rb (SizedQueue by Continuation) generator.rb (external iterator, EndOf-type) iterator.rb (external iterator, hasMore?-type) iterator2.rb (external iterator, hasMore?-type, cofork version) sync-eqch.rb (synch

    jjzak
    jjzak 2008/07/04
    Rubyのcallccの(trivialではない)使用例
  • Wormhole: An example of use for callcc - Hello, world! - s21g

    sudo gem sources -a http://gems.github.com 2  sudo gem install genki-wormhole メソッドの内部を実行中に、呼び出し元に一旦処理を戻し、 中断した場所から処理を継続する機能を提供します。 例えば、以下のようなプログラムに対して、 1  require 'rubygems' 2  require 'wormhole' 3 4  def foo 5  puts "foo" 6  Wormhole.throw :foo => 'hello' do |data| 7  puts data[:foo] 8  end 9  puts "bar" 10  end 11 12  Wormhole.catch do 13  foo 14  end.return do |data| 15  puts data[:foo] 16 

  • 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)
  • 継続

    継続、continuationと来ればやはりSchemeの話になるのだろうか。一般社会で schemeと言えば「すきーむ(n)計画。陰謀。」であるがソフトウェア業界で Schemeと言ったらLispの一種のことだ。Lispには変種が腐るほど存在するが、 Common Lispと並んで有名なのがSchemeである。Common Lispが標準化の課程でゴテ ゴテと装備して巨大化したのに対し、Schemeは遥かにコンパクトでクリアな仕 様を持つ。またSchemeとは言語の一般名であり、その実装にはGaucheとか scmとかguileとかMIT Schemeなどがある。 さてCall/CC、正式名称Call with Current Continuation、について 説明しよう。Call/CCはちょっと見はsetjmp/longjmpと同じように見えるのだが、 スタックが深くなる方向にもジャ

  • 1