タグ

ブックマーク / kiwanami.hatenadiary.org (4)

  • Emacs Lisp が「書ける」ようになるまで - 技術日記@kiwanami

    先日の関西Emacsでは、Emacs Lisp の入門記事がうけるとか、「書ける」ようになる情報がないらしいという話を聞きました。確かに、Emacsの初歩的な操作入門と、良く書ける人がアプリやブログなどでelispをばしっと書いてるのはよく見ます。入門から書けるようになるまでの間の過程は見たこと無かったかもしれないと思いました。 ということで、Emacsの先人たちにはまだまだ及びませんが、いくつかのアプリを書いてみた自分がたどった方法を書いてみます。先にまとめると以下の2つになると思います。 elispでどうしても書きたい物があること たくさん書いて動かして(こっちが先)、そしてInfoや他人のコードを見て勉強する 書ける以前のまとめ Emacs歴10年以上。すでに生活の一部。 でも設定を書くのに使っていたぐらい。 既存のアプリの分かりやすいバグを手元でちょっと直すとか。 LISP系の言語

    Emacs Lisp が「書ける」ようになるまで - 技術日記@kiwanami
  • 非同期と継続と私 - 技術日記@kiwanami

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

    非同期と継続と私 - 技術日記@kiwanami
  • Emacs用カレンダー calfw v1.2 リリース - 技術日記@kiwanami

    もうちょっと早く紹介記事を書くつもりだったのですが、orgmode の家 ML から召喚されて、2週間ほど ML での対応やパッチ取り込み、細かい機能追加などを行っておりました。ということで、 v1.0 から飛んで v1.2 になりました。 calfw ? Emacs 上でふつうに使えることを目指したカレンダーアプリです。こんな感じのよくあるレイアウトで表示します。 画面イメージ 以前の記事もある程度参考になると思いますが、設定方法が変わっていますので気をつけてください。 参考:Emacsでカレンダーコンポーネントを作った - 技術日記@kiwanami 以前(v0.2.1)からの主な変更点 API の整備 カレンダーのネタ提供をグローバル変数をやめて、構築時の引数で指定 cfw:source でスケジュールを構築、複数組み合わせ UIの強化 ビューの追加(月、週、2週、日) ビューの拡

    Emacs用カレンダー calfw v1.2 リリース - 技術日記@kiwanami
  • yasnippet や emacs lisp の小ネタなど - 技術日記@kiwanami

    yasnippet は定型コードなどを素早く展開することが出来る汎用テンプレートフレームワークです。 yasnippet - Project Hosting on Google Code 普通の使い方 yasnippetのドキュメントは家のページに良くまとまっています。elisp書ける人は全部読むとかなりsnippet力が上がると思いますので、ぜひ読んでみたらいいと思います。 http://yasnippet-doc-jp.googlecode.com/svn/trunk/doc-jp/index.html (2011/09/15 追記) あと、以下のページでもみんなテンション高くなってます。(もう3年くらい前の祭りですが。。。) yasnippetがすごい!!!!1112345! - Kentaro Kuribayashi's blog yasnippet.elをインストールしてみた

    yasnippet や emacs lisp の小ネタなど - 技術日記@kiwanami
  • 1