Gauche/Kahuaセミナー2008 Fallに行ってきました
Gauche/Kahuaセミナー2008 Fallに行ってきました。
http://practical-scheme.net/wiliki/wiliki.cgi?Seminar%3aGauche%2fKahua
セミナーの内容は以下のものでした。
とても興味深い内容でした。
以下メモです。
HOPプロジェクト
HOPプロジェクトは、GaucheやHaskellを使ったソフトウェア開発の促進を目的としている様です。
プレスリリース
http://www.timedia.co.jp/news/press/3545906324
GaucheやHaskellをいざ仕事で使おうとした際の障壁を少なくするために、
- 開発に必要な情報の共有
- 開発事例の蓄積
などを推進していく様です。
Gauche on Rails
Gauche on Railsの内部実装の解説は基本的にはGauche nightの時と同じでした。
今回はさらに内部実装に突っ込んだ話をして頂きました。
- Gaucheの(CLOS由来の)オブジェクトシステムではクラスとメソッドが分離している
- Gachueにはクラス再定義の機能がある。但しGauche固有。これはKahuaを実装するために追加された機能らしい。再定義機能は、ActiveRecoadでDBから読み出してきたレコード情報からクラスへスロットを追加するために使った。
- ActiveControllerは、マクロを使って実装。マクロでこっそりコンテキスト情報を渡すコードを生成。
- (reload-modified-modules)を呼ぶと、変更の在ったモジュールが再読み込みされる。便利。
- (report-error e)は正式なAPIでは無いが、stack traceを取得できる。
ソースは以下から…
http://ey-office.com/svn/rails/trunk/GaucheRails
リンクが切れている模様です。
Kahuaの内部実装
Kauhaプロジェクトのサイト
http://www.kahua.org/
Kahuaの内部実装の解説をすることで、Gaucheの使い方のえぐい面を見てみましょうという内容です。
- MOP使いまくり。便利
- entry-lambdaとかマクロ使いまくり。バッククォート、アンクォート使いまくり。
- persistent-class-bind-metainfoは内部定義を含めて100行もある。長ー
あとは、現在のKahuaの問題点として以下のような話がありました。