2002-05-31 (Fri) たまにはおごる
▲ ツブしちゃった
オブジェクト指向革命家のイシイくんと数年ぶりに飲み。人付き合いが下手で寡黙なイシイくんも、今日は熱く語ってくれる。愉快なので1時すぎまで引っ張りまわしたら、気がつくと(や)もイシイくんも寝ていた。まだまだ若いもんには負けぬ。イシイくんも楽しくできるといいね。
2003-05-31 (Sat)
▲ 最新Lisp/CLOS動向セミナー
木曜日に後藤さんとこで見かけたセミナーに行ってきました。
40人くらい入りそうなセミナールームに50人くらい来ていて、思ったより盛況。内容は、説明されていることが ANSI Common Lisp の仕様にあるのか、Allegro Common Lisp だけが出来ることなのか分かりにくいことが多々あったけど、現状の開発について考えさせられることが多くて面白かった。
各種デモやプレゼンを見て感じるのは Lisp は、すべてをとにかくダイナミックに解決するということ。Java は、計算機の実行できることに制限を加えてシンプルなモデルを提供しようとしているが、Lisp では本来計算機が持っている能力を最大限に引き出そうとしている。
J2EE の功績のひとつに開発を
- インプリメンテーション
- パッケージング
- デプロイメント
のフェーズに明確に分けたことがあると思っていたのだが、Lisp のダイナミックな環境では、このフェーズ分けにまったく境界がなく、完全にシームレスに実行できる。
サーバでまさに実行中のコードをネット越しに Emacs や IDE から直接参照して編集、実行できてしまうからだ。端的な例ではバグがあり、実行すると例外を投げるようなコードをサーバで評価して、クライアントから Web ブラウザでアクセスし、そのコードを実行させる。当然サーバサイドでは、エラーになるが Web ブラウザにはレスポンスが返ってこないため、待ち状態となる。ここでサーバへ正しく修正したコードを評価すると、瞬間にレスポンスが返却されてブラウザに結果が表示される。
あと Common Lisp だと Ruby や Perl のように正規表現を heavy に使わなくても、規則性のある文字列を parse してオブジェクトとして扱うことができる reader という仕組みがあるそうな。
Allegro CL 固有だと思うけど
(disassemble 'foo)
で foo 関数のアセンブル結果が見れるのも面白いね。
CLP Pages というのが JSP のような HTML/XML のテンプレート言語というかマクロで HTML や XML を S 式で書ける。himi さんのアレっぽい。
(:html (:head (:title "hogehoge")) (:body (:h1 "hogehoe") (:p "fugagua)))
htmlgen というパッケージにも、HTML/XML を S 式で表現して簡単に生成できる関数がある。
気になってた Lisp と Java を相互にバインディングする jlinker というオプションパッケージ。サンプルコードを見る限りは、使えないなぁというところ。現状では Lisp から Java を呼び出すときに Java のためにしてあげる仕事が多すぎる。適切なデータタイプに変換してあげないといけないし。スピーカーの方にこの辺と COM サポート状況について聞いてみたりもした。
いまいち理解できてないのが Scheme と比較した時の Common Lisp の優位点として intern しない Symbol も存在できるということが紹介されていた。Common Lisp の柔軟なパッケージシステムに根ざしたものらしい。
配布資料には「普通のやつらの上を行け」も含まれていたりする。
あとみかんのような謎の物体ももらった。ふにふにふにふにしながらリラックスして柔軟な発想をしてくださいという癒し系アイテム。会社に持っていったらみんなに好評であった。
▲ 上野で呑み
木曜日は、そのままソルジャーイシイくんと呑む。ちょうど一年ぶりだったか。途中から人が増えて Lisp, XML, SmalTalk 談義やら最近のケータイ開発事情とか、X68k の話しとかやたら面白かった。
▲ ディスククラッシュ
土曜日。会社から CVS が動かないと連絡うけて、緊急発進。調べてみるとこないだ増設したばかりのHD がクラッシュしている模様。ケチって Seagate にしたからかなぁ。 IBM でした。特に前兆などないし、昨日特別なことをしたわけでもないのでビックリ。なんとか fsck で復旧できるレベルみたいで助かった。重要データをバックアップしてディスク交換は来週にしよう。
2006-05-31 (Wed)
▲ 自己解凍ファイルの作り方 .exe
XPには標準で自己解凍ファイルを作成するツールが入ってるのね。知らなかった。最後に任意のメッセージを表示させたり、ライセンス表示させたりできてなにげに高機能。
# Mitsugu [お久しぶりです。 え?そんなことできるんですか?どうやってやるんでしょう? …]
# ko [おお。Mitsuguさんご無沙汰です。リンク先に詳しい説明がありますが、ファイル名を指定して実行でiexpress...]
# Mitsugu [どうもありがとうございました。私も後で調べて判明。 それにしても「リンク先」て…どこだろう?]
# ko [できましたか。よかった。この日の日記のタイトルがリンクになってるですよ。本文の中にリンクをいれたほうが分かりやすいか..]
# Mitsugu [あら、そうですか。そうと思ってみてみたのですが、リンク先にいかないなあ。これは私のところの問題かもしれないので、しら..]
# あ [くぅ。エントリはしたんだけども、当日になって突然待機になってしまってT_T 結局なんにも仕事が無いばかりか、深夜にな..]
# himi [disassembleはLispには昔からあるよ。Common LispにもEmacsにもあるし。byte code..]
# ko [おお!かわいそうに。>あ 場所も新宿だし、いるんじゃないかと会場でキョロキョロしてたよ。]
# あ [フランツから配布資料が送られてきました^^v]