# HG changeset patch # User Yasutaka Higa # Date 1426590146 -32400 # Node ID a2b7073f68b62fdb02185a9e74e8d428c46f0729 # Parent bbd719e94ac56bd06cf2d00ccadb1d19562c315a Add slide for seminar diff -r bbd719e94ac5 -r a2b7073f68b6 slides/20150317/slide.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/slides/20150317/slide.md Tue Mar 17 20:02:26 2015 +0900 @@ -0,0 +1,39 @@ +title: Categorical Formalization of Program Modification +author: Yasutaka Higa +profile: +lang: Japanese + + +# 研究目的 (Categorical Formalization) +* プログラムの信頼性を向上させるために開発手法に着目する +* プログラムの信頼性が変化するのはプログラムを変更した時である +* 信頼性を保ちながらプログラムを変更にプログラムの変更を形式化する +* Kleisli Category の Kleisli Triple と対応のある Monad によってプログラムの変更を記述する + +# 研究目的 (Parallel Debugger) +* 本研究では Monad を用いてプログラムの変更を定義する +* Monad とは meta computation とデータ構造を対応付ける手法である +* プログラムの変更は変更前の動作を保存しつつ変更後の動作を追加することで表現する +* 異なるバージョンのプログラムを同時に実行し、トレースを比較することでデバッグを支援する手法を提案する + +# 近況報告 +* objective の論文をちょろっと読んだり + * [Haskellでの合成可能なオブジェクトの構成とその応用](http://fumieval.github.io/papers/ja/2015-Haskell-objects.html) + * 内部に State を持って Message を受け取って Action する + * 継承は Object を合成して Message を受けとる Object を変えて実現 +* 異なる型を表現する Delta + * Haskell で書けないかちょっと調べてます + +# 異なる型を表現する Delta +* arity を拡張する commit operator があると良い? +* 複数の型を内包できるデータ構造? +* extensible-effect, HList とかを見てます +* 今のところデータ構造を作ったりはできてません + +# なんか見てたの +* Haskalletor +* Rank2Types +* ExistentialQuantification + + +