Lisp Meet Up presented by Shibuya.lisp #13 が開催されました。

1月23日(木)に、13回目となるLisp Meet Upが開催されました。ご参加頂いた19名の皆さま、お疲れさまでした。

発表

主催からの挨拶と参加者の自己紹介の後、告知されていた2件の発表がありました。

1件目は深町さんから、「New O/R Mapper for Common Lisp」と題して、ご自身が作っているIntegralというO/R Mapperについての発表でした。Common LispにはPostmodernやCLSQLというO/R Mapperがありますが、これらはテーブルを表現しているクラスの定義を更新してもテーブルが更新されないので、カラムの追加や型の変更を行なうにはテーブルの再作成や変更を行なうSQL文を自分で書いて行なう必要があります。

既存のO/R Mapperのこのような問題に対する解決策として、Integralでは変更されたクラス定義からテーブルに対して必要な変更を行なうSQL文を構築・実行する関数が提供されています。さらに、クラスを再定義した際に自動でこの関数を適用するモードや、既存のテーブルからクラスを生成する機能も用意されているそうです。
発表ではこのような機能面での説明に加え、MOPの利用方法やマイグレーションを行なうSQL文の構築方法など、実装面についての言及もあり充実した内容でした。

IntegralのソースコードはGithubで、発表のスライドはSlideshareで、それぞれ公開されています。

続いてκeenさんから、「CIM – Common Lisp Implementation Managerを作りました」と題して、Common Lisp処理系のインストールと管理を行なうCIMの紹介がありました。CIMはBourne Shell Scriptで書かれており、以下の3つのコマンドで構成されています。

  • Common Lisp処理系のインストール・管理を行なうcim
  • Common Lispプログラムをスクリプトとして実行するcl
  • Quicklispへのインターフェースとなるql

同じ処理系の複数のバージョンのインストール・管理に加え、スクリプトを処理系ごと(あるいは処理系のバージョンごと)に実行できたり、ワンライナーが使えたりと、Common Lisperのための強力なコマンドラインツールとなっています。 現状では達成されていないものの、インストール直後のFreeBSDで動作することを目標としており、Bourne Shell Scriptで実装を進めているのもこの点が理由だそうです。

CIMのソースコードはGithubで、発表のスライドはSlideshareで、それぞれ公開されています。

深町さんとκeenさんは共にご自身のブログに今回のMeet Upの参加レポートを書いているので、合わせて参照すると良いと思います。

また、参加者の一人であるayato_pさんも参加レポートを書かれているので、合わせてご紹介させて頂きます。

懇親会

発表の後は一度休憩となり、休憩の間に自然に4つくらいのグループに別れてそれぞれ雑談で盛り上がったため、そのまま雑談タイムになりました。

終了後は会場近くの居酒屋で懇親会をしました。最近Lispでどんなものを書いているのかとか、Lispの現状と今後とかいったこと、あるいは昔はどんな言語を使っていたかなど、プログラミング全般の話題が中心でした。

次回のMeet Upについて

次回はSchemeをテーマに、2月下旬の開催を予定しています。 詳細が決まり次第またShibuya.lispのMLやTwitterにて告知させて頂きます。

Published: January 29 2014