タグ

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

  • 関連タグはありません

タグの絞り込みを解除

JavascriptとjavascriptとMochikitに関するlockcoleのブックマーク (4)

  • Collection & Copy - Deferred、遅延リソースのインターフェース、パターン

    JavaScript setTimeoutで実行される関数の中で発生するエラーは、セットした部分のtry/catchで補足することはできません。 function throwError(){ throw new Error('ERROR'); } try{ setTimeout(throwError, 3000); } catch(e){ // ここには到達しない alert(e); } MochiKit.Async.Deferredを使うと、エラーバックでエラーを補足できます。 callLater(3, throwError).addErrback(function(e){ alert(e); }); エラーの補足以外にも、Deferredのインターフェースから以下が行えます。 キャンセル(cancel)状態(fired)コールバックの追加(addCallback)エラーバックの追加

    lockcole
    lockcole 2007/01/04
    「Deferredはこれらの対象物である、時間や、通信や、プラグインオブジェクトなどの「準備に時間のかかるリソース」を抽象化し汎用的なインターフェースを提供するものです。」
  • MochiKitと日本語は相性が悪い? - llameradaの日記

    brazilさんのMochiKit解説記事(http://d.hatena.ne.jp/brazil/20060122/1137926216)を読んでいて、関数型言語風のプログラムは読みにくいなと思った。読みにくい原因をつらつらと考えてみると、日語の言語構造と前置型が相性が悪いのが原因の一つではないかと思った。 MochiKitJavaScriptのライブラリである。Pythonの影響を受けており、Lispなどの関数型言語風な記述が出来る。brazilさんの記事で取り上げられているサンプル・コードはこちら。 theSum = sum(takewhile( partial(operator.gt, 10), imap( partial(operator.mul, 2), count() ) )); ok( theSum == (0 + 2 + 4 + 6 + 8) ); theSum に

    MochiKitと日本語は相性が悪い? - llameradaの日記
    lockcole
    lockcole 2006/01/25
    Mochikitというか,関数プログラミングの文法が日本語とは相性が悪いという感想。英語的な構文。
  • MochiKit、関数プログラミング - koyachiの日記

    MochiKitに対してはid:brazilさんの意見と大体同じ感想を抱いてます。主に関数型プログラミングから来るなんだかわからない期待感と違和感。でもとりあえずやってみようという。 僕の場合はCatalyst界隈で噂になったのがきっかけです。prototype.jsが話題になった当時は便利なライブラリが出てきたんだねぇ程度で、すぐに自分で手を出そうとかは思わなかったんですけど。 関数型プログラミングを意識してる割にはそういうサンプルがほとんどなくてbind,map,filter,reduce,list,iterの有効に組み合わせた使い方が掴めないです。サンプルだから敷居を下げているんでしょう。このあたりはやはり風呂に入りながら考えてましたね。そういうものなのでしょうか。 ファウラーさんの「リファクタリング」で処理を細かい単位に分けて関数化してしまうのって結局、関数プログラミングの「副作用

    MochiKit、関数プログラミング - koyachiの日記
    lockcole
    lockcole 2006/01/25
    Mochikitは関数プログラミングのすごさを伝えようとしているとか
  • Mochikit.Asyncのサンプルコードを読む - koyachiの日記

    Mochikit.Asyncのドキュメントのサンプルコードを、バラバラにして見ていきます。 以下はMochiKit.Async/META.jsonファイルを読み込みスクリプト自身が使っているMochiKit.Asyncバージョンが最新かどうかをチェックするコードです。 var url = "/src/b/bo/bob/MochiKit.Async/META.json"; /* META.json looks something like this: {"name": "MochiKit", "version": "0.5"} */ var d = loadJSONDoc(url); var gotMetadata = function (meta) { if (MochiKit.Async.VERSION == meta.version) { alert("You have the new

    Mochikit.Asyncのサンプルコードを読む - koyachiの日記
    lockcole
    lockcole 2006/01/25
    「Mochikit.Asyncのドキュメントのサンプルコードを、バラバラにして見ていきます。」
  • 1