2010-10-01から1ヶ月間の記事一覧

Shibuya.lisp Hackathon #1に参加してみた

東京に行く用事があって、何とか時間が取れそうだったので参加してみました。 オラクルのビルはとてもオシャレ。あと、正面でテスラのお店が仕上げをしていました。 Shibuya.lisp Hackathon #1 : ATND Shibuya.lisp | Shibuya.lisp とにかく、Lisp書く人が80…

非同期と継続と私

非同期のプログラミングの解説の中にはよく「継続(渡し)」が良く出てきます。継続といえば Scheme の call/cc ですが、やっぱり JSDeferred のサンプルのページにも出てきます。直感的にはあんまり関係ないような気がしますが、関係があるようです。さらに…

deferred.el のできるまで:調査、設計と実装

deferred.elを作る上での参考にした情報や、設計・実装のメモです。 一般的なDeferredの理解や、Deferredの情報まとめとしても使えるかもしれません。 Deferredについて コールバックをうまく書くイディオム 非同期処理の抽象化の道具 汎用性が高く、使い始…

deferred.el リリース

先日の関西Emacsの会で発表しました deferred.el です。 deferred.el はEmacs Lispでの非同期処理を書きやすくするためのライブラリです。(2010/10/08 追記:コンパイルできないバグがありますので修正中です。コンパイルしなければとりあえず動きます。。。…

deferred.el の出来るまで:Emacsでの非同期処理

Emacsでの非同期処理は大変 これまでEmacsのGUIアプリをいくつか書いてみて、非同期の処理を何とかしたいと思ったことが deferred.el を書こうと思った動機です。Emacs Lisp上でコマンドを非同期で処理しようと思うと、コールバックをつなげたり、正しくエラ…

evalした結果がそんな遠くで大丈夫か? 大丈夫だ。問題ない。

非同期なプログラムを書き始めると、タイミングの関係もあってprintデバッグに頼ることが多い。アプリの動作時はmessageや独自のログバッファに出力している。一方で、書きながら実験したり、ちょっと実行したいときには eval-last-sexp をよく使っている。…