comparison slides/20141125/slide.md @ 81:6033d4bf54f4

Add slide for seminar
author Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
date Tue, 25 Nov 2014 17:42:37 +0900
parents
children
comparison
equal deleted inserted replaced
80:bc5b156a08c4 81:6033d4bf54f4
1 title: Categorical Semantics for Program Modification
2 author: Yasutaka Higa
3 profile:
4 lang: Japanese
5
6
7 # 研究目的
8 * プログラミングにおいてプログラムの変更に共ない実行結果なども変更される
9 * プログラムの変更に対応する圏を構築し、その変更の構造を調べる
10 * 圏の構造から導出される性質からソフトウェア開発に有用な仕組みを提案する
11 * 本研究ではプログラムの変更をMonadとして定義し、Monad によって構成される圏を解析する
12
13 # 近況報告
14 * 当面のクリアするべき目標
15 * 無限の変更を表す Delta を定義しました
16 * Sample : Bubble Sort
17 * Agda での証明がだいぶ詰まっています
18
19 # 研究の方向性と卒研
20 * Technical English Presentation でもうスライドを作り始めます
21 * あとポジションペーパが12月
22 * そういう意味で卒論とかの流れも確定させていきたい
23 * 特に研究目的
24
25 # 当面のクリアするべき目標
26 * Delta によってプログラムの全ての変更が表現できるか?
27 * Functor なのでいけると思ってます
28 * 無限の変更を Delta によって書けるか
29 * 定義してみました( mono と delta )
30 * Delta によって構成される limit とは何か
31 * 先生とやりました
32
33 # Sample : Bubble Sort
34 * prime count も bubble sort も動いてます
35
36 ```
37 *Main> primeCount 10
38 Delta 4 (Mono 5)
39
40 *Main> deltaFromList [10, 20, 30] >>= primeCount
41 Delta 4 (Delta 10 (Mono 15))
42 ```
43
44 # limit of delta monad
45 * 先生と対応を考えてました
46 * limit
47 * index category の形状は preorderd sets だと思ってます
48 * has id, has pull back
49
50 # equalizer, product of delta monnad
51 * pull back があるので equalizer もある
52 * おそらく mercurial の merge の non-conflict 部分
53 * id があるので product もある
54 * 任意の変更段階を対にできる
55 * parallel debugger の理論的背景 -> これを卒研の提案1にする
56 * and more?
57 * indexed category のパターンを調べようかと思ってます
58
59 # Agda での証明につまってます
60 * functor 則は ok
61 * monad 則がとんでも
62 * mu (fmap mu) m = mu (mu m)
63 * 金曜からずっと悩み続けてます
64
65 # 状況
66 * pattern match 全部展開 -> 無理
67 * (mono or delta) で TTT なので 2^3 くらいかなと
68 * delta を展開すると増えるので状態が爆発
69 * 安直にスクリプトで展開したけれど refl では押し切れない
70 * ≡-Reasoning で展開
71 * headDelta, tailDelta, deltaAppend と mu が natural transformation である証明とかが必要そう
72 * 今これでやってますが尋常じゃなく長い
73
74
75 <!-- vim: set filetype=markdown.slide: -->