タグ

deferred.elに関するtomoyaのブックマーク (5)

  • 非同期に辞書を引く.el - hitode909の日記

    カーソル位置の単語を辞書で引くemacs lispを使っていたのだけど,辞書を呼ぶPythonのスクリプトが遅くて,辞書を引いてる間Emacsがブロックして,不快だった. deferred.elを使ってスクリプトを呼ぶようにした. いろいろ機能が減って,実行が非同期になった. ;; 非同期に辞書を引く ;; ;; (+ "http://d.hatena.ne.jp/a666666/20100529/1275138722" ;; "http://sakito.jp/mac/dictionary.html" ;; "http://d.hatena.ne.jp/tomoya/20091218/1261138091" ;; "http://d.hatena.ne.jp/tomoya/20100103/1262482873") (require 'cl) (require 'deferred) (d

    非同期に辞書を引く.el - hitode909の日記
    tomoya
    tomoya 2011/08/21
    よいですね
  • 非同期と継続と私 - 技術日記@kiwanami

    非同期のプログラミングの解説の中にはよく「継続(渡し)」が良く出てきます。継続といえば Scheme の call/cc ですが、やっぱり JSDeferred のサンプルのページにも出てきます。直感的にはあんまり関係ないような気がしますが、関係があるようです。 さらに、非同期と遅延評価の関係も気になります。非同期は「結果が後で来る」感じですが、遅延評価は「必要になるまで結果を計算しない」ということで、後回しにする感じが似ています。 今回、deferred.el を作った後にこれらについて考えてみたところ、なんとなく自分の中で実用的な結論に達したのでまとめてみました。以下、その過程とまとめです。 あらすじ 継続渡し(CPS)と非同期 CPS変換から非同期化 Deferredで非同期化 遅延評価と非同期 遅延関数のCPS変換から非同期化 Deferredで非同期化 明示的形式と暗黙的形式 継

    非同期と継続と私 - 技術日記@kiwanami
  • EmacsWiki: Deferred Task

    tomoya
    tomoya 2010/10/15
    EmacsWiki キターーーーーーーーーーーーーーーーーーー!!!!
  • 2010-10-08

    Emacsでの非同期処理は大変 これまでEmacsのGUIアプリをいくつか書いてみて、非同期の処理を何とかしたいと思ったことが deferred.el を書こうと思った動機です。 Emacs Lisp上でコマンドを非同期で処理しようと思うと、コールバックをつなげたり、正しくエラー処理を行うために、かなり長いコードを書く必要があります。また、最近はWebにアクセスする機会も多いのですが、これも非同期で処理するとなるとまた面倒です。非同期をやめて、ブロックする(Emacs全体が固まる)コードで書けば楽なのですが、それではユーザー体験としてマイナスになってしまいます。 特に大変だったのが cacoo.el を作っているときでした。 cacoo.el では、以下のような流れで画像を表示します。 Webから画像取得(wget) 画像サイズ取得(identify) 画像リサイズ(convert) 表示

    2010-10-08
    tomoya
    tomoya 2010/10/08
    キターーーーーーーーーーーーーーーーーーー!!
  • Pythonのヘルプをポップアップしてくれるelisp、py-doc-popupができるまで - sheephead

    Pythonのヘルプをポップアップしてくれるelisp、py-doc-popupができるまで 2010.10.01 Emacs Emacs, GIS, KeySnail, Lisp, Python 秋の夜長、いかがお過ごしでしょうか。こんばんわ、myuhe a.k.a デスマ中にも関わらず、いつの間にかelispをいぢってたりするたわけ者 です。 さて、そのきっかけは、@kozo2さんのたわいもない一言

    Pythonのヘルプをポップアップしてくれるelisp、py-doc-popupができるまで - sheephead
  • 1