ILC2012個人的まとめ#1 一日目
ちょっと寝過ごし&道に迷い、ギリギリに会場到着。
そろそろ開始時間だったけどレジストレーションのところは順番待ちで10人ぐらい並んでた。
On Lisp extensibility, and its impact on DSL implementation
「DSLならLispでしょう」という話。
既に良く知っている話だったので個人的には目新しい部分はなかった。
- DSL(ドメイン固有言語) vs GPL(General Porpose Language、汎用言語)
- DSLの分類
- Lisp以外の各言語での拡張性についての極簡単な紹介
- 具体例
- cuiのコマンドを書いた時に「--help」で出すヘルプ。一部の文字を太文字にしたり色を変更したりしている。この構造をベタなエスケープシーケンス直書きせずに、CLOSでいい感じの記述(というか色等のプロパティ化)にしてから最後に変換する方針にする。
- 上記の過程(素のCLOS定義だと冗長なのをどんどん簡潔にしていくというDSL化の過程)を実演。確か以下のような順序で行う、みたいなのが書いてあったと思う
- まず(CLOSで)普通に設計、抽象化
- コードが冗長な部分の内、関数化でどうにかできる部分を関数化
- 残ったコードが冗長な部分の内、リードマクロで構造部分を読み書きしやすくする
- ここではC系の、 { } で構造を表現するリードマクロを選択
- 最後にマクロを使って、余分なquoteや括弧を減らす
What is the best language for compiler writers
阿部さんがこれまで色々なコンパイラを書いてきた各言語を星でレーティングして、そのレーティングが時系列でどう変化していったか、という話。
どの年にどの言語はじめたというのはメモしてたけど星いくつだったかはメモしてないです。
メモ見てるだけだと分かりにくいけど色々と濃い話があってすごい面白かったです。当時のゲーマーはより楽しめた。
- 1984年、Fortran、Pascal
- 1985年、C
- 1986年、ファミコン/NES(6502)、KCL(Kyoto CommonLisp)
- 1987年、Lisp
- AGL(Adventure Game Langugage)のコンパイラ。これにLispとCと6502アセンブラを使用
- メタルスレイダーグローリーのシナリオ部はAGLで書かれた
- 1990年、Lisp!
- 1994年、Lisp(レーティングからエクスクラメーションマークが取れてしまう)
- すいません、以降はレーティングのメモ取れてないです
- バーチャルボーイ(V810)用Cコンパイラ
- CおよびLispライブラリによって書かれた
- COINSプロジェクト(2002-2005)
- SCKプロジェクト
- Portable Slice Analyzer(2012)
- Haskellで実装
- プログラムスライスとは、例えばCのコードの特定部分にて「スライスポイント」を指定すると、そのスライスポイントに関する部分だけを抜き出して(逆に言うとスライスポイントに関係しない関数呼び出しと変数を削除する)、その結果のコードを取り出すもの、らしい
- これは文章で説明すると難しいけど、実際に適用前のコードと適用後のコードを見て比べてみれば(その比較がスクリーンに出てた)、どういう事をするものなのかすぐに理解できた
- Data Flow Analyzer for Java
- バーチャルボーイ(V810)用Cコンパイラ
おひる
会場でお弁当とお茶をもらい、日本人若手組(?)で外の公園へ。
Kyoto.lisp @ ILC2012
とりあえずネタのある人はLTする事に。
ここはちゃんとメモとれてないです。
(1)画像フィルタ(すいませんタイトル失念)
- 映画を撮ってる際に画像フィルタが必要で、既存のはあるけど速度が遅いので、CLで書いて高速化した、という話とデモ
(2)Shelly
- @nitro_idiot さんが Kyoto.lisp#1 でやった内容
(4)Hasp
- 俺だよ!内容自体は Kyoto.lisp#1 でやった内容と同じだけど、あの濃いメンバーの前でやるべき内容ではなかったとすごい思った。
(5)lequeさん(タイトル失念)
(6)全文検索システムの速度を100倍に
(7)BiwaSchemeの6年
- BiwaSchemeの歴史紹介的な話
- JavaScriptの主流がprototype.jsからjQueryに変化してそれに合わせたり、とか、そういう話をされていた記憶がある
- BiwaSchemeを使って BiwaSlide というのを作って、このプレゼンも BiwaSlide との事。
- プレゼン内容はS式で書く。任意のタイミングでコンソール開いてS式を評価できる。
- 自分もS5でhtml書くの嫌になってたので試したいんだけど、BiwaSlideの公式サイト的なものはない?ぐぐってもみあたらなかった。yharaさんがBiwaSlideで書かれたプレゼンから勝手に取るしかない?
解散
- 自分は用事があってそのまま急いで帰ったけど、残ったメンバーで飲み会されてたとの事。残念。