view slides/20140812/slide.md @ 61:b4bf52190b5a

Update slides
author Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
date Tue, 12 Aug 2014 17:04:50 +0900
parents cfb00e108b97
children af2d176a4f2c
line wrap: on
line source

title: プログラムのデバッグ支援(仮)
author: Yasutaka Higa
cover:
lang: Japanese



# 研究目的(仮)
* プログラミングにおいて、ソースコードを改変するとプログラムの挙動も変わる
* 挙動は予想されていた挙動と異なる場合があり、それはバグとなる
* ソースコードの改変前と改変後の挙動を比較することで、デバッグの支援になるのでは無いか
* 異なるバージョンのプログラムを同時に実行できるデバッグ支援ツールを開発する


# 近況報告
* Parallel debugger sample session
    * テコ入れ下さい
* ソフトウェア工学の質問とか答えてたりしました
* Notions of computation and monads


# ソフトウェア工学
* 数日前から質問来てました(締切前?)
* Functor の eta の記述がおかしい気がします
    * T -> 1 になってる
    * eta は 1 -> T な気がします
* [ここ](http://www.ie.u-ryukyu.ac.jp/%7Ekono/lecture/software/s05/lecture.html)の etaT のところ

# Notions of computation and monads
* proving Equivalence of programs
    * beta-eta conversion wipes out
        * non-termination, non-determinisim, side-effects
* follows monads
    * Categorical Semantics of computations based on monads
* T is notion of computation

# Many Sorted Monadic Equational Language ?
* Kleisli triples との対応
    * (T, eta, mu) と (T, eta, _ * )
    * このあたりはソフトウェア工学でやったところなのでどうにか
* Many Sorted Monadic Equational Launguage くらいから謎
    * page6-7 とか
    * 確実に引数を1つ持つ関数どうしの Equation?

# Monad for CbC?
* Monad は codomain が 2つある
    * A と T A
    * なので A と T A 間での identitiy はきちんと取る必要がありそう
* f : A -> T B
    * f x     の場合は x : A
    * f =<< x の場合は x : T A

<!-- vim: set filetype=markdown.slide: -->