タグ

continuationに関するIMAKADOのブックマーク (3)

  • 継続

    継続、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と同じように見えるのだが、 スタックが深くなる方向にもジャ

  • 継続渡しによる停止・再開可能な反復処理 - JavaScriptライブラリでお馴染みの$関数を関数スタイルで実装してみる

    ここ最近の Scheme プログラミングで得た感覚を踏まえ、各種 JavaScript ライブラリでお馴染みの $ 関数 (ID による要素検索) を、ごく簡易にですが、関数スタイルで実装してみました。 まずは実装を見ていただく前に、このような例を考えてみてください。 $("id").do_something(); ここで、"id" 要素が確実に見つかるかどうかが保証されていない (do_something が失敗するかもしれない) とします。すると、 var o = $("id"); if (o) { o.do_something(); } のように、いちいちテストをしなければいけませんよね。 これが、関数スタイルでは $("id", do_something); と書くだけで済みます。つまり、$ 関数自身が成否のチェックを行い、成功していればコールバック関数にオブジェクトを渡すように設

    継続渡しによる停止・再開可能な反復処理 - JavaScriptライブラリでお馴染みの$関数を関数スタイルで実装してみる
  • Rhino 1.6R1 変更ログ

    Rhino の変更ログ Rhino 1.6R1、2004-11-29 にリリース リリース概要 Rhino 1.6R1 は、Rhino の新しいメジャーリリースです。 ECMA 357 standard としての ECMAScript for XML (E4X) をサポートします。 E4X は既存のコード・ベースに影響を与えずに、JavaScript へネイティブ XML サポートを加える、言語拡張セットです。 E4X example に、様々な E4X コンストラクションと、JavaScript コード内でのそれらの使用法が示されています。 このバージョンの Rhino は、公開 API だけを使用して、 下にあるドキュメントのような推奨されないクラスは使っていない場合、 現在 環境に組み込んでいるものと、バイナリ互換であるべきです。 何か互換性に関する問題があれば、

  • 1