2006-01-01から1年間の記事一覧

サブプロセスのタイムアウト

うーん、意図した様に動いてくれません。昔作った C のプログラムをデバッグしなければならず、検証用に Ruby のテストコードを書いて、そこから呼び出そうとしています。当初、Ruby/DL を利用して、公開している API を直接呼び出すことを検討していたので…

TAGS を作るコマンドライン

因みに、上のエントリで言語ごとに作成した、配布モジュールなどを入力とした TAGS ファイルを作成するコマンドは、それぞれこの様な感じにしてます。 Perl $ find `perl -e 'print "@INC";'` -name \*.p[lm] | xargs etags -l perl Ruby $ find `ruby -e 'p…

タグファイルの階層化

上のエントリの最後に書きました様に、XEmacs では find-tag の際に、カレントディレクトリからルートディレクトリに向って、TAGS ファイルを探してくれます。そして、見付かった全ての TAGS ファイルの中から tag を探してくれます。そのため、私の環境では…

タグジャンプ

久し振りに Ruby に触れていて、色々と Web で検索しているうちに、新たな情報を入手しました。情報自体は随分と古いものなんですが。 ■ Emacs 使いの方へ etags こちらで、Ruby のコードの TAGS ファイルを作成するスクリプトが紹介されていました。慌てて …

やっぱりシンプルに。

上のエントリでも書きましたが、私自身は、テストコードはシンプルであるべき、複雑なテストコードは百害あって一利無し、と思っていますので、実は、上の様なテストコードはなるべく書かない方が良い、と考えています。場合によってはアリ、とは思っていま…

クロージャにしてみる。

ということで、裸の配列を順に参照している部分を、クロージャにしてみようかと。そもそも、配列をそのまま参照することが悪い訳では決して無いです。しかし、今回例示している様な簡単なイテレータならばそれでも良いですが、何やら複雑怪奇なメソッドだっ…

イテレータのテストコード。

久し振りに、仕事絡みで Ruby のコードを書く機会がやってきました。これまでにも仕事絡みで Ruby のコードを書いたことはあるのですが、要求開発のためのプロトタイプ (要求開発に於けるプロトタイピング) だったり、雑務のツールだったりで、余り厳密にテ…

インタプリタを模倣。

上のエントリで、 私は、結構、確認のためだけのコードを書くことが多いので、Makefile など用意せずに compile することが多いです。そのため、make コマンドだけでは物足りません。 などと書いていますが、実は、確認のためだけのコードの場合は、 #ifdef …

C 言語のコンパイル

久し振りの更新となってしまいました。id:higepon さんのところで、 開発時にM-x compileを常用しているのですが以下2点が不満でした。 という話が。;; どうも higepon さんのエントリに反応してしまうことが多い気がします……session.el の方はコメントが既…

クロージャとブロック (追記)

今日になって、昨日の一連のエントリを読み直してみましたが、細かい話ですが注釈を入れさせて貰った方が良さそうな部分を発見してしまいました。それなりに推敲しているつもりですが、私が書く場合は、やはり少し寝かせてからでないとダメですね。昨日のエ…

ふう、疲れました。

ここまで色々とクロージャについての考察を行なって来て、識者の方々にもコメントを頂けましたし、それらを踏まえて一旦は整理しておかねば、と一気に書いてしまいましたが……「簡単にまとめてみました」とか書いてますがとんでもない、私としてはもうとんで…

クロージャとブロック (後編)

前編では、クロージャと、私なりにクロージャと区別している `ブロック' についての比較を、高階関数にブロックをそのまま渡す様なコードについて試みました。そこではクロージャとブロックに明確な差異はありませんでした。しかし、手続きを無名関数として…

クロージャとブロック (前編)

上のエントリでは、これまで考察してきたクロージャについての簡単なまとめを行ないました。そのエントリで最後に書いたブロックにも着目しながら、これまで考察してきたクロージャについて、コードを挙げて検証してみようと思います。さて、上のエントリで…

クロージャについて: 一旦、簡単にまとめてみます。

これまで考察してきたクロージャの件ですが、まだまだ頭の中では発散しているのですけど、一旦、簡単にまとめておきたいと思います。ただ書き散らかしているだけでは意味ない (いや、意味はあると思ってるんですけど。自己矛盾だ。) ですからね。Rui さん、s…

クロージャについて: コメントありがとうございます。

勝手にプレッシャーを感じながら、これまた勝手に識者の方々にコメントをお願いしていたところ、Rui さんに続いて shiro さんからもコメントを頂きました。私の発散した記事を読んで頂いた上で、非常に示唆に富んだコメントを頂きまして、本当にありがとうご…

トラックバックありがとうございます。

何と、結城さんからトラックバックを頂いてしまいました。 メモ。 id:tenyさんのクロージャについて少し考えてみました。 id:tenyさんのクロージャについてもう少し考えてみました。 ということなんですが、これはきっと、higepon さんと同じで、 [gauche][s…

クロージャについて、どんどん発散して行くなあ。

色々考えていることを整理してみたいと思ったのですが、意に反して、どんどん発散してしまいます。こんなときはまだ整理できる段階ではないということで、発散するままに書き連ねてしまうことにしてみました。先のエントリで少し触れましたが、私は、クロー…

魔術師本が読めません。

ちっとも魔術師本 (SICP) を読んでいません。実は訳あって本自体が手元に無く、読み進められない状況になっています。もう一ヶ月になりましょうか…… (言い訳モードになってます。誰にともなく……)来週辺り手元に戻って来るかもしれないと、淡い期待を抱きつつ…

クロージャについてもう少し考えてみました。

昨日のエントリに Rui さんからコメントを頂きました。ありがとうございます。 私もなんだか同じイメージを持ってます。静的スコープでオブジェクトの寿命が永遠(無限エクステント)というのがまず初めにあって、その結果クロージャがあるという印象。 私が漠…

クロージャについて少し考えてみました。

クロージャについて色々と考えてみました。以前にも書いたのですが、そもそも Gauche をインストールした目的の一つに、クロージャの動作をもっと理解したいという目的があったので。で、色々と shiro さんが公開されているドキュメントを読み返したり、Gauc…

Gauche を update.

昨日の、 Compile Error: [internal error] stray local variable:の件で shiro さんからコメントを頂きました。ありがとうございます。 0.8.6 以前では、コンパイラの最適化ルーチンのバグで、このエラーが発生することがあるとのことです。 http://www.shi…

良く判らない動作です。

Gauche でクロージャを作っていて、ちょっと良く判らない動作に遭遇しています。先ず、以下のコードをトップレベルで評価すると意図した通りに動作してくれます。 (1) トップレベルで評価すると意図した通りに動作する。 (define (make-counter init increme…

オンラインドキュメントの参照。

■ Schemeの勉強、10日目 で、結城さんが、 perldocやriやrefeのような、コマンドラインベースで読めるドキュメントツールがあるとよいなあ。 と仰っています。これについて shiro さんが、gauche.interactive の `info' を紹介されています。やはりオンライ…

多値を返す関数での再帰。

先日のエントリで多値を返す関数について考えてみましたが、`call-with-values' に渡せる手続きに引数が渡せないことから、再帰的に利用することができなさそうに感じていました。しかし、よくよく考えれば、そんなことは無いですね。二つの引数 a, b をとっ…

多値を返す関数

以前のエントリで、Scheme で多値を返す関数について shiro さんに教えて頂いたのですが…… (define (dvals a b) (values a b)) => dvalsという余り意味の無い、多値を返す関数を定義して評価すると、 (dvals 1 2) => 1, 2となります。 ここで `dvals' は、二…

Emacsリング

おおっ、id:higepon さんが Emacs リングに参加されていますね。お待ちしておりました。;-)このリング、私しか参加してなくて随分寂しかったんですよね。はてなって Emacs 人口がそんなに少ないんでしょうか。確かに少ないと感じることは多いですけど。しか…

R5RS 邦訳の Info を。

これまで、アルゴリズム言語 Scheme に関する第五改訂報告書を参照していたんですが、何のことはない、同じ site の http://www.sci.toyama-u.ac.jp/~iwao/Scheme/scheme.html に、日本語版の info が置かれていることに気付いたので、Info で読める様にして…

SICP リングに参加。

ようやくエントリが実際の動きに追い付いてきましたが、昨日、id:higepon さんが SICP リングを作られたことを知り、早速参加させて頂きました。ちょっとトラブルがあったせいで慌ててしまい、登録が上手くできてなかったのを、先程やり直させて頂き、id:hig…

魔術師本が旬なのでしょうか。

で、時間無いながらも、地道に Gauche を使った Scheme の簡単な学習と、RSS Feeds の未読消化に努めていると、最近はどうやら魔術師本 (SICP) が旬な様ですね。計算機プログラムの構造と解釈作者: ジェラルド・ジェイサスマン,ジュリーサスマン,ハロルドエ…

遅々として進まず。

先日のエントリ (d:id:teny:20060416) で、Gauche という Scheme の実装をインストールしていた (素晴しい処理系を公開しておられる shiro さんに感謝致します) と書きましたが、このインストールを実施したのが 2月の半ばでした。もう 5月に入ったというの…