Categorical Formalization of Program Modification
Yasutaka Higa
研究目的 (Categorical Formalization)
プログラムの信頼性を向上させるために開発手法に着目する
プログラムの信頼性が変化するのはプログラムを変更した時である
信頼性を保ちながらプログラムを変更にプログラムの変更を形式化する
Kleisli Category の Kleisli Triple と対応のある Monad によってプログラムの変更を記述する
研究目的 (Parallel Debugger)
本研究では Monad を用いてプログラムの変更を定義する
Monad とは meta computation とデータ構造を対応付ける手法である
プログラムの変更は変更前の動作を保存しつつ変更後の動作を追加することで表現する
異なるバージョンのプログラムを同時に実行し、トレースを比較することでデバッグを支援する手法を提案する
近況報告
objective の論文をちょろっと読んだり
Haskellでの合成可能なオブジェクトの構成とその応用
内部に State を持って Message を受け取って Action する
継承は Object を合成して Message を受けとる Object を変えて実現
異なる型を表現する Delta
Haskell で書けないかちょっと調べてます
異なる型を表現する Delta
arity を拡張する commit operator があると良い?
複数の型を内包できるデータ構造?
extensible-effect, HList とかを見てます
今のところデータ構造を作ったりはできてません
なんか見てたの
Haskalletor
Rank2Types
ExistentialQuantification