https://twitter.com/kinaba のログ (twilog の方が便利です。)
#LOPSTR11 "Meta-Predicate Semantics" http://logtalk.org の人による、Prologのメタ述語の拡張仕様バラバラすぎるからちゃんマトモな統一セマンティクス決めようやという提案。メタ述語に述語名をモジュール修飾渡したときに(続 | |
#LOPSTR11 続)名前解決は使用側と定義側のどちらでなされるべきか、;や->に対して大抵の実装でモジュール修飾が可換になるのと同様にユーザー定義のものも含めて全てのメタ述語に対してそうであるべきという提案、リフレクションの統一、etc、etc。おもしろい。 | |
#LOPSTR11 "Modular Extensions for Modular (Logic) Languages" マクロライブラリとマクロライブラリを混ぜたときにどの順番で展開するんですか問題。http://ciaohome.org の人による。ちゃんと理解できてない(続 | |
#LOPSTR11 続)けど、構文の変換をするマクロさんに、どのフェーズにいるか順序付きの"kind"を付与するようにしてできるだけモジュラーにコンパイラ書いてくれれば(あとkindの生成器をパラメタ化する感じになってれば)よろしくやるよという体系を作りましたという感じかなあ。 | |
#LOPSTR11 "A prototype refactoring tool based on a mechanically-verified core"。Isabelleでコード変形の正当性証明書いてコード抽出で作るリファクタリングツール作りかけてるよ的な話。うーん (続 | |
#LOPSTR11 続)うーむ特色がわからんのと、あと名前束縛の扱い何も考えてないようだが明らかにヤバくねみたいな質問が飛んでいる。謎い | |
@cpp_akira @rane_hs どもども。updated! | |
WFLP→LOPSTR→AAIP→AAIP かなあ。うーむ | |
#WFLP11 http://www.wi.uni-muenster.de/pi/konferenzen/wflp2011/wflp2011.htm にいる。とりあえず Curry セッション | |
#WFLP11 "KiCS2: A New Compiler from Curry to Haskell" タイトルの通り。問題となるポイントは1つで、Call-by-【Need】 の非決定性(Curry用語では"call-time choice")をどうするかで、(続 | |
#WFLP11 続)一度非決定性をどちらかに決めたら同じ選択に由来する部分はすべて同じ選択をしないといけない、というのを非決定選択を表すサンクにひたすらユニークIDを振って管理という真っ向勝負の実装。決定性の部分ではこのID渡しをなくしたバージョン使って速度稼ぐ。 | |
#WFLP11 続) KiCS1と違ってHaskellのunsafe機能使わない、決定的な部分についてはghcと比べてほとんどオーバーヘッドない。非決定的な部分についてはProlog経由実装より速い。FLP用抽象マシンにコンパイルする実装より遅い。KiCS1とはトントン。 | |
#WFLP11 続) 質問「ユニークID生成のseedは純粋関数型言語でやろうと思うとプログラム全体で引き回す必要があると思うがどうやってるのかやっぱりモナドっぽいアプローチ?」「No。無限のsupplyを2つに割るような操作を用意しておいてフローが分岐したらその時点で振る」 | |
#WFLP11 続)会場からHanus「ID生成をモナディックにするとプログラムの実行順序がそれで定まってしまって非決定性を使うか使わないかだけは最低を計算しないと後ろの計算の開始ステートが決まらなくて困るのでそれは向いてない」なるほど。てかそういう話を発表に入れてくださひ | |
#WFLP11 ※念のための注釈 Curry http://bit.ly/4r4Tkj というのはHaskell+Prologみたいな楽しい言語です。さっきの話でモナディックにというのはnextID :: Integerをstateに入れたstateモナド的なものでということ多分 | |
@ikegami__ Curryとかの非決定性だと、failしない選択がある場合はその候補を最終的に選べないといけない、のでその辺とかが | |
適当にダラダラ書いてると異様に長くなる。長くても280文字以内にはまとめたいものなのですが | |
#WFLP11 "New Functional Logic Design Pattern" タイトル通り。FLP、特にFuncion Pattern(パターンマッチのパターンに任意の関数適用式が書けるもの)を使ったデザインのパターン集。(パターンとパターンが混ざって紛らわしい(続 | |
#WFLP11 Call-by-reference、Many-to-many、Quantification、Deep Selection、Elimination/Introduction of Nondeterminism。基本的な常識がしっかり言語化されてあって良いまとめ。 | |
#LOPSTR11 "On the partial deduction of non-ground meta-interpreters" TermをTermに変数を変数に直マップする形で表現したプログラムを扱うメタインタプリタ(in Prolog)の、データ構造を変えない (続 | |
#LOPSTR11 続) 形での、インタプリタの具体的に与えられた対象プログラムへのspecializationをやりたいんですけどメタインタプリタの書き方によっては完全な部分評価は不可能なことがあっちゃったりするとかなんとかの考察を投げてちょっとみんな考えようぜ的な発表。 | |
#LOPSTR11 "Using Real Relaxations During Program Specialization" specializationが正しい条件として整数計画問題解きたいことがあるんだけど実数に緩和した上で正しくなるような条件に基づいてやってみた的お話 | |
#LOPSTR11 "Proving Properties of Co-logic Programs by Unfold/Fold Transformations" inductionとcoinductionが(明確に分離されてはいるが)両方扱える論理型言語のプログラム変換規則 | |
集中力イズミッシング | |
#LOPSTR11 "Simplifying Questions in Maude Declarative Debugger by Transforming Proof Trees"Algorithmic Debugging (失敗したテストケースがあったらその結果に至る (続 | |
#LOPSTR11 続) 途中計算をダダーっと出して間違ってるのここですかここですかここですか的に質問しまくって来てバグを特定する感じのシステム、の要らん質問をしないようにできるだけ刈り込む計算木変換手法。対象言語は Maude http://bit.ly/5KVCZU | |
#LOPSTR11 なんか遅延評価というか評価順序の指定みたいなものがあるのがデバッガ作るのにも適切な質問決めるのにも面倒くさいのだがその辺をどうにかしたというのが今回のポイントらしい(多分 | |
#LOPSTR11 会場から 「HaskellとかでもDebugしようとすると評価順変えてしまって大変なことにみたいな問題があって色々なんか似たようなことやってると思うけどどうなの」「遅延しているとこほどいたら無限ループするみたいなのが来たらどうなるの→ヤバいです」 等々 | |
#LOPSTR11 こういうのって、他で研究されていると思うけど、複数のfailure caseを与えて計算の木構造のintersectionとってポイント絞るみたいなのってどんな感じにどうなるんだろう。 | |
#AAIP11 http://www.cogsys.wiai.uni-bamberg.de/aaip11/ に来ている。Inductive Programming というのはいくつかの例(など)からプログラム自動生成する的ジャンル(の1つ) | |
#AAIP11 大きく分けて「プログラムをランダムに生成して例にマッチするうち何らかの順序(短いとか)でベストなものを取る」(G&T)アプローチと「貰った例の帰納的な構造を解析してそれっぽい再帰関数を作ろうとする」(Analytical)アプローチがある。まあそれはそうだろうなあ | |
範囲の広いカンファレンスでは無理だろうけど、特定分野に絞ったワークショップのサイトにはその分野の年表を置く文化とかが生まれてこないだろうか。Chairの独断と偏見により当該分野のeopch-makingな論文を系統樹にして最大で8個選んで図示する。 | |
てか、学術会議用のマイクロフォーマットはなにか本当あって欲しいですよね。開催期間と、締切その他CallForPaperの主要な情報と、採録論文のdoiのリスト。それと年表。いちいちえーとここの会議のページ数制限何ページだっけ…とか探して回るのだるい | |
#AAIP11 "Two New Operators for IGOR2 to Increase Synthesis Efficiency" Analytical寄りのアプローチのヒューリスティックスの改善で、複数の分岐をまとめて一気に複数に分かれるように探索を進める、あと(続 | |
#AAIP11 続) あと関数引数に関数呼び出しが来るパターンの中で特に関数引数にコンストラクタ呼び出しが来るパターンを優先、とすると色々速くなったよーというお話。 | |
「この分野のプロに常識として共有されているアプローチの中には魔法が含まれています」的なフラグ表とかも欲しくて、問題を聞いた瞬間に思いつく方針を地道に進めることで成り立っているのか、それとも解答と歴史を知らぬ人にはまず思いつかない発想の転換がベースになってるのかの分類を全力の主観で |