2006/03/31
ハワイは雨続き。2月下旬からほぼ1月半、天気が良かったのは数日間だけである。 普段の雨期は12月〜1月、しかも雨が続いても3日くらいなのに…
いつもは雨期の間だけほんのり緑色になるダイアモンドヘッドが、 今年はパンチボウル並の緑に覆われている。
Tag: 生活
2006/03/19
enbug diary : スクリプト言語はコンパイラ言語より遅いのか?!。 向こうにもコメントを書いたのだけれど、少し詳しく。 もちろんうるさいことを言えばスクリプト言語とコンパイラ言語を対比するのは 変なのだろうけど、ここでは文脈から「スクリプト言語」は実行形式をソースの まま持っておいて実行時にインタプリト、もしくはVMコードくらいにコンパイル して実行するもの、「コンパイラ言語」はバッチコンパイルしてバイナリの実行 形式を作っておくもの、くらいの意味だろう。
で、Lispは昔から実行時解釈も実行時コンパイルもバッチコンパイルも可能だった わけで、他の言語、特に新しい言語が同じことを出来ない理由は無いし、既に そういう流れになっていると思う。
ところで、同じソースファイルを、インタプリトした場合と コンパイルした場合に、全く同じ動作を保証するのは見かけほど自明な話 ではない。特にプログラムの意味に影響を与えるメタレベルの操作が実行時に 許されている場合、実行してみないとプログラムの意味が決定できない→ コンパイルできない、ということがしばしば起こる。Lisp界隈ではこれに ついて20年前くらいにさんざん議論されて、一応の落としどころは 見えている (もっともその中にはeval-whenみたいなアドホックな解決もある。 Scheme界ではそういうのを嫌って、本当に「正しい」セマンティクスを 追求しているせいで、未だにポータブルなモジュールシステムや低レベルマクロが 無いのだが)。まあ、少なくともCLやSchemeの言語仕様の設計時には、 その仕様がインタプリタでもバッチコンパイラでも矛盾のない自然な動作に なるかどうか、かならず検討されている。
さて、新興言語はLispの歴史に学ぶだろうか。それとも処理系をコンパイラ向けに チューンしてゆく過程で、Lispがひっかかった罠に再びはまり、同じ歴史を 繰り返すだろうか。
Tags: Programming, Lisp
2006/03/15
YouOS。 Y Combinatorの支援を受けたスタートアップ。ブラウザで走るOS。 デモをいじる限りではそれなりに面白い。どこまでenvelopeを拡げられるかに注目。
Tag: YCombinator
2006/03/15
申告の書類作りに会計士さんのところへ。扶養家族が増えたからちっとは 安くなるかなと思ってたんだが、昨年は全く出張しなかったせいで経費が大幅減 していたのを忘れてたよ。一昨年より高くなっちまった。
「家でも買えばうんと(税額を)安くできるんですけどね」と言われたけど この不動産相場の高騰ぶりじゃ到底無理だしなあ。
Tag: 生活

Comment (1)