過去ログ

アフィリエイト広告を利用しています

第参回天下一カウボーイ大会・カウボーイセッション/川合史朗さん

 Lisp is EVERYWHERE
 ハワイでソフトウェアコンサルタントしている
 主に助っ人プログラマ


 1996年 米国子会社
  次世代機向け技術研究
 1997年 シーグラフ
 2000年 ファイナルファンタジーリアルタイムデモ(シーングラフのスクリプトをScame)
 2001年
     FFのアーティストのアセットをトラッキングしてパイプラインを流す
     ComonLispでつくり、修正していった
 2002年 独立 Gaucheをコア技術
     ネットワークがらみ、アプリケーション層の下あたり


 俳優業は年に1、2回でている
 →会場アンケート仕事でLispを使っている人は少ない


 Lispはいろいろな有名人がすばらしい実装だと取り上げている
 50年FortranCobolLispが生き残っている
 Lispだけでたくさんの方言ができている
 リスト処理ライブラリだった、evalにリスプ処理を入れたら動いてしまった。


 プログラムの2面性
  機会に指示をする手順書
  意味の記述・定義

 Lispプログラムを解釈する Lispプログラム
 Lispで記述された意味を解釈する 。。。


 超循環構造。メタサークラ
  →この扉を開いたところになる


 メタになると何がうれしいのか
  操作対象だけではなく、操作主体が操作できるようになる
  C言語などは言語のの制限があるが、Lispなら制限があったらチートして世界の制限を書き換えてしまえばいい


 Real Macro Metaprogramming on C
  抽象化が低い
   →Lispを組み込む
    →記述はC
     →lsを書き直したら、コードは半分になる


 一人の見れるコードは限界があるので抽象化する必要がある
 プログラム+入力データ=出力
 メタプログラム+プログラム仕様=プログラム
 メタプログラム+メタプログラム仕様=メタプログラム


 メタプログラムをうまく選択するとコードが減らせる
 20000行でOS、コンパイラ、アプリケーションを書く
 1000行でネイティブコンパイラを書いている


 2段階の法則はオブジェクトでも適応される
  クラス→インスタンス
  メタクラス→クラス
  メタクラスメタクラス


 メタオブジェクトプロトコル
  オブジェクト自身を拡張できる
  AOP


 外枠と内枠のコンパチビリティー
 不完全なメタ
  C++テンプレート→特化されたソース→オブジェクトコード
  Schemeのマクロ→循環が完成するまで30年かかっている


 生活の中のメタ構造
  シェイクスピア
   →劇中劇
    職人ロミオ→劇中の物語(外から職人をみるとおかしい)→舞台を見ているひ
     私たちを見ている何かが存在するのでは何かがいるのではないか?
     →神、第三者


 物理法則をチートではかえられない
  →世の中に縛られているルールは変えられるのではないか。自分で思い込んでいるだけではないのか?
 あらゆるところに、超循環があるのではなか。


 トーク
  土佐先生の話に回帰しているのではないか。
  裏テーマとして
   わけわからないなというのが1つはないといけない。