プログラムのデバッグ支援(仮)
Yasutaka Higa
- プログラミングにおいて、ソースコードを改変するとプログラムの挙動も変わる
- 挙動は予想されていた挙動と異なる場合があり、それはバグとなる
- ソースコードの改変前と改変後の挙動を比較することで、デバッグの支援になるのでは無いか
- 異なるバージョンのプログラムを同時に実行できるデバッグ支援ツールを開発する
- Parallel debugger sample session
- ソフトウェア工学の質問とか答えてたりしました
- Notions of computation and monads
- 数日前から質問来てました(締切前?)
- Functor の eta の記述がおかしい気がします
- T -> 1 になってる
- eta は 1 -> T な気がします
- ここの 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?
Notions of computation and monads : ながれ
- あとは流し読み
- Many sorted Monadic Equational Language -> The Simple metalanguage
- (let とか。) 1Monad を複数回適用可能?
- A Simple Programming Language
- existential とかが導入されるらしいですが……
Notions of computation and monads : ながれ
- Extending the simple metalanguage
- Strong Monad (A x T B) -> T A B
- Interpretation and formal system
- Strong monads over a topos
- Monad は codomain が 2つある
- A と T A
- なので A と T A 間での identitiy はきちんと取る必要がありそう
- f : A -> T B
- f x の場合は x : A
- f =« x の場合は x : T A