2006-11-01から1ヶ月間の記事一覧

Range#inject を Scheme 的に -> 積分への応用

SICP を読んでいます (まだ 1 章の高階関数のところです)。練習問題で Smalltalk や Ruby (や prototype.js) の inject メソッドと同等のものが出てきましたので、ピックアップしてみたいと思います。以下の様な、a から b までの範囲の数列の総和・総乗など…

Scheme で vim バッファにテキスト出力

Vim に Scheme インターフェースを追加して真っ先に確認したかった事が、バッファにテキストを追加する方法です。新しい情報を画面の末尾に追加していく、という至極当たり前の作業なんですが、これがなかなか難しかったのでメモしておきたいと思います。 ま…

ソース・パッチをリモートから直接展開・適用する

Vim

少し以前から Lisp を学びたいという衝動が高まってきまして、Vim に MzScheme インターフェースを追加することにしました (emacs への乗換えも一時検討したんですが、あっさり断念しました)。ソースを持っていなかったため、一からパッケージを取ってくると…

LDR のメモリ・リーク問題について

!

フィード一覧の全フォルダを一気に開くスクリプトを書こうと思い、ソースを読んでいたら、ある問題にぶつかりました。ツリー表示における各ルート (フォルダ) は TreeView というオブジェクトによって表されています。そして、それらは後からの参照のために…

LDR フィード絞込みスクリプトのアップデート

LDR のフィード一覧を絞り込み表示するスクリプトをアップデートしました。細かい変更です: #{ expression } を複数指定した場合に AND 検索になるように 絞込み後に前後のフィードのナビゲーション・リンクをアップデート します。どうぞご利用ください。

アクセサ関数

同じオブジェクトの同じ要素に何度もアクセスするような場合に便利かなと思って、作ってみました。 function accessor(object, key, initial) { if (arguments.length == 3) object[key] = initial; return function() { return (object[key] = arguments.le…

livedoor Reader と livedoor clip の連携機能について

Tip

コメント欄が無いようなので…。 確かにクリップとして残しておけるのは便利なんだけれど、「あとで読む」は読んだ後に削除する場合が多いので、「Shift + c」した画面から削除できるといいなー、と思ったり。 ソースを読んだだけですが、出来ますよ。Del キ…

JavaScript でプロファイリング (シンプル版)

Game of Life のアルゴリズムの問題点を探ろうと思い、以前作ったプロファイラにかけて調べることにしました。が、このプロファイラは prototype.js (を自分用に改変したもの) を対象にした内容だったため、ライブラリを使わずに書いた Game of Life では使…