2日間みっちり! Lispチュートリアル & 事例紹介セミナー 2011に行ってきました 1日目 — #:g1

Posted 2011-11-21 09:14:00 GMT

今年も恒例の2日間みっちり! Lispチュートリアル & 事例紹介セミナーに参加してきました。

この集まりでしか会えない方々も結構いるので毎年の楽しみでもあります。 以下、つらつらとセミナー1日目の大まかなレポートを書いてみます。

Scheme版TAOCPのアルゴリズム (TAOCP Algorithms in Scheme) / 和田英一

現在、和田先生は、パラメトロン計算機ブログで、TAOCP(The Art of Computer Programming)の話題を展開されることがたまにありますが、それが目の前でリアルタイムに展開されるという感じで、とても楽しめました。 クヌース先生は、自著のバグを見付けた人には、小切手を発行するというのは有名ですが、和田先生は結構な枚数をお持ちで、実際の小切手をバラバラと見せていました。 話の構成としては、実際にTAOCPからアルゴリズムを詳細に解説し、まず、TAOCPのとおりにSchemeで書きうつし、その後、それをSchemeらしくしてゆく、という流れで、いくつかを紹介。 Schemeらしく書く点としては、TAOCPは配列の添字等が1オリジンのところを0オリジンで書く、配列はリストにする、ループ+ループ変数は再帰+引数という感じにする等々ですが、TAOCPは、計算量の見通しを良くするために、再帰を避けてループで記述することが多いそうで、これがプログラムを難解にしていることもあるそうです(クイックソートを再帰を使わずに記述等々) 。 実際に再帰に変形したものをみると、確かに大分理解しやすい感じでした。 ぶっちゃけた話も沢山あり、これがまた面白かったのですが、ブログに書くのも微妙なところがあるので、これは会場にいた人の楽しみに取って置いた方が良いかなと思います :)

How to integrate Lisp with NoSQL technologies like SOLR and MongoDB / Jans Aasman

最近、AllegroGraphのユーザーからMongoDBや、SOLRのようなインターフェイスはないのかという問い合わせが多いそうで、それに対する取り組みが紹介され、ちょっとしたデモの実演がありました。 このあたりは、MongoGraphとしてまとめられたりしていくようです。

Common Lisp による確率分布乱数生成 (Generating probability random numbers using Common Lisp) / 藤井遼

機械学習では、精度の高い乱数を得られるかどうかが速度に直結するそうで、それの基本的な解説とCLでの実装を解説されていました。 高速化のテクニックとしてコンパイラマクロも紹介されていました。

Common Lisp Compiler Macros / Arthur Lemmens

あまり解説されることがない、CLのコンパイラマクロの入門。で原稿も普通日本語 Lemmensさんは、European Common Lisp Meetingの主催者の一人(もう一方はEdi Weitz氏)ですが、ここ数年はこのセミナーが開催される頃に来日されています。 2009のセミナーでは、日本語で発表されたのですが、今回も日本語での発表!。 その内、発表、資料が公開されるのかもしれませんが、日本語のコンパイラマクロの使い方の解説としては分かり易くて素晴しいものなので、公開されると良いなと思います。 Lemmensさんは、LispWorksユーザーでプレゼンも大体LispWorksの画面上で行なわれていたのですが、エディタバッファや、リスナーがさくさく切り換えられて便利そうでした。 ちなみに、ECLM 2011は動画の公開も進んでいるようで、 European Common Lisp Meeting videosから見ることができます。

ESP - A Lisp-Based, Visual Expert System Rule Capture Application / Glenn D. House Sr.

ESPは、所謂エキスパートシステムで、ユーザーができるだけアプリケーション開発者に頼ることなく簡単に知識を引き出したりできるようなシステムを目指しているようです。 インターフェイスとしては、ScratchのようなGUIのインターフェイスを持ち、それが、CLOSのコードとなって出力、実行されます。 システムはほとんどCLでできていて、ユーザーインターフェイスにブラウザを利用しているために、jQuecyを利用しているところ以外は、CLとのこと。 ■ 2日目に続く…

comments powered by Disqus