changeset 52:9103fc60d14e

auto-Update generated slides by script
author Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
date Tue, 04 Nov 2014 11:06:44 +0900
parents 2c23945abbb4
children 75b24219e2d9
files slides/20141104/slide.html slides/20141104/slide.md
diffstat 2 files changed, 148 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/slides/20141104/slide.html	Tue Nov 04 10:51:48 2014 +0900
+++ b/slides/20141104/slide.html	Tue Nov 04 11:06:44 2014 +0900
@@ -2,7 +2,7 @@
 
 <html lang="Japanese">
 <head>
-	<title>プログラムのデバッグ支援</title>
+	<title>モナドによるプログラムの変更</title>
 	<meta charset="UTF-8">
 	<meta name="viewport" content="width=1274, user-scalable=no">
 	<meta name="generator" content="Slide Show (S9)">
@@ -18,13 +18,13 @@
 </head>
 <body class="list">
 	<header class="caption">
-		<h1>プログラムのデバッグ支援</h1>
+		<h1>モナドによるプログラムの変更</h1>
 		<p>Yasutaka Higa</p>
 	</header>
 	<div class="slide bg" id="Cover"><div>
 		<section>
 			<header>
-				<h2>プログラムのデバッグ支援</h2>
+				<h2>モナドによるプログラムの変更</h2>
 			</header>
 			
 			<img src="pictures/" alt="">
@@ -43,17 +43,18 @@
 			<!-- === begin markdown block ===
 
       generated by markdown 1.1.1 on Ruby 2.1.4 (2014-10-27) [x86_64-darwin13.0]
-                on 2014-11-04 10:51:46 +0900 with Markdown engine kramdown (1.4.2)
+                on 2014-11-04 11:06:43 +0900 with Markdown engine kramdown (1.4.2)
                   using options {}
   -->
 
 <!-- _S9SLIDE_ -->
 
 <ul>
-  <li>プログラミングにおいて、ソースコードを改変するとプログラムの挙動も変わる</li>
-  <li>しかしリファクタリングにおいてはソースコードを変更した後も同じ結果を得たい</li>
-  <li>ソースコードの改変をモナドとして記述し、実行結果の変化を自動的に検出したい</li>
-  <li>これによりリファクタリング支援や後方互換性の支援などを行なう</li>
+  <li>プログラムを変更するとプログラムの実行結果も変わる</li>
+  <li>しかし、バージョン互換を維持する場合など、ソースコードを変更した後も同じ結果を得たい場合もある</li>
+  <li>プログラムの改変の際にモナドとして改変することで過去のプログラムの保存ながら改変する</li>
+  <li>これによりリファクタリング支援や後方互換性の確保、プログラムの変更による実行結果の変化の検出などを行なう</li>
+  <li>さらにプログラムの改変をモナドとして表すことで、モナドの理論的背景である圏論の視点からプログラムを改変することの意味を探る</li>
 </ul>
 
 
@@ -64,14 +65,14 @@
 <div class="slide" id="3"><div>
 		<section>
 			<header>
-				<h1 id="hoge">hoge</h1>
+				<h1 id="section-1">近況報告</h1>
 			</header>
 			<!-- _S9SLIDE_ -->
 
-
 <ul>
-  <li>hoge</li>
-  <li>hogehoge</li>
+  <li>圏論勉強中</li>
+  <li>拾った論文2つほど</li>
+  <li>Idea : 環境付きFunctor</li>
 </ul>
 
 
@@ -82,14 +83,105 @@
 <div class="slide" id="4"><div>
 		<section>
 			<header>
-				<h1 id="fuga">fuga</h1>
+				<h1 id="category">Category</h1>
+			</header>
+			<!-- _S9SLIDE_ -->
+
+<ul>
+  <li><a href="https://sites.google.com/site/klovelab/Home/category">圏論勉強会</a></li>
+  <li>なるものがあったので動画で見てます</li>
+  <li>2回分ほど</li>
+</ul>
+
+
+
+		</section>
+</div></div>
+
+<div class="slide" id="5"><div>
+		<section>
+			<header>
+				<h1 id="papers--ats">papers : ATS</h1>
+			</header>
+			<!-- _S9SLIDE_ -->
+
+<ul>
+  <li><a href="http://t.co/YJ20R7iRut">ATS 言語を使って不変条件を API に強制する</a></li>
+  <li>ATS なる言語があるらしい
+    <ul>
+      <li>C 言語を生成する</li>
+    </ul>
+  </li>
+  <li>deductive type, linear type, dynamic type を定義できる</li>
+  <li>compile time に deductive type による check とかできる</li>
+  <li>deductive type で長さ付き List を定義して、生成されるC言語のソースが index out of array しないことを強制とかしてました</li>
+</ul>
+
+
+
+		</section>
+</div></div>
+
+<div class="slide" id="6"><div>
+		<section>
+			<header>
+				<h1 id="papars--monoid-folding">papars : monoid folding</h1>
 			</header>
 			<!-- _S9SLIDE_ -->
 
+<ul>
+  <li>圏論の話を聞いていたら、モノイドは畳み込み演算をどこから fold しても良い話が</li>
+  <li>並列でやっても良さそう、みたいな</li>
+  <li><a href="http://link.springer.com/chapter/10.1007%2FBFb0002796">A monadic calculus for parallel costing of a functional language of arrays</a></li>
+  <li>実行コストを計算するモデルを定義</li>
+  <li>それを計算する cost monad とか作る</li>
+</ul>
+
+
+
+		</section>
+</div></div>
+
+<div class="slide" id="7"><div>
+		<section>
+			<header>
+				<h1 id="idea--functor-with-environment">Idea : Functor with Environment</h1>
+			</header>
+			<!-- _S9SLIDE_ -->
 
 <ul>
-  <li>fuga</li>
-  <li>fugafuga</li>
+  <li>環境を考える(variables, type information)</li>
+  <li>環境と対応した Functor を考える
+    <ul>
+      <li>通常の環境がメインメモリ空間</li>
+      <li>GPUメモリ空間は異なる環境(for Cerium)</li>
+      <li>別のPCも別空間(for Alice) # hand shaking with data segment signature</li>
+    </ul>
+  </li>
+</ul>
+
+
+
+		</section>
+</div></div>
+
+<div class="slide" id="8"><div>
+		<section>
+			<header>
+				<h1 id="idea--functor-with-environment-1">Idea : Functor with Environment</h1>
+			</header>
+			<!-- _S9SLIDE_ -->
+
+<ul>
+  <li>通常の環境の演算はGPU空間でも同じっぽい
+    <ul>
+      <li>Functor になりそう</li>
+      <li>GPU に行って、計算して戻ってきても良い</li>
+      <li>べつに CPU環境で実行しても良い</li>
+    </ul>
+  </li>
+  <li>Code Segment と Data Segment の categorical な考え方になるかも?</li>
+  <li>割と精査はしていません</li>
 </ul>
 
 <!-- vim: set filetype=markdown.slide: -->
--- a/slides/20141104/slide.md	Tue Nov 04 10:51:48 2014 +0900
+++ b/slides/20141104/slide.md	Tue Nov 04 11:06:44 2014 +0900
@@ -1,26 +1,54 @@
-title: プログラムのデバッグ支援
+title: モナドによるプログラムの変更
 author: Yasutaka Higa
 cover:
 lang: Japanese
 
 
+# 研究目的
+* プログラムを変更するとプログラムの実行結果も変わる
+* しかし、バージョン互換を維持する場合など、ソースコードを変更した後も同じ結果を得たい場合もある
+* プログラムの改変の際にモナドとして改変することで過去のプログラムの保存ながら改変する
+* これによりリファクタリング支援や後方互換性の確保、プログラムの変更による実行結果の変化の検出などを行なう
+* さらにプログラムの改変をモナドとして表すことで、モナドの理論的背景である圏論の視点からプログラムを改変することの意味を探る
 
-# 研究目的
-* プログラミングにおいて、ソースコードを改変するとプログラムの挙動も変わる
-* しかしリファクタリングにおいてはソースコードを変更した後も同じ結果を得たい
-* ソースコードの改変をモナドとして記述し、実行結果の変化を自動的に検出したい
-* これによりリファクタリング支援や後方互換性の支援などを行なう
+# 近況報告
+* 圏論勉強中
+* 拾った論文2つほど
+* Idea : 環境付きFunctor
 
+# Category
+* [圏論勉強会](https://sites.google.com/site/klovelab/Home/category)
+* なるものがあったので動画で見てます
+* 2回分ほど
 
-# hoge
+# papers : ATS
+* [ATS 言語を使って不変条件を API に強制する](http://t.co/YJ20R7iRut)
+* ATS なる言語があるらしい
+    * C 言語を生成する
+* deductive type, linear type, dynamic type を定義できる
+* compile time に deductive type による check とかできる
+* deductive type で長さ付き List を定義して、生成されるC言語のソースが index out of array しないことを強制とかしてました
 
-* hoge
-* hogehoge
+# papars : monoid folding
+* 圏論の話を聞いていたら、モノイドは畳み込み演算をどこから fold しても良い話が
+* 並列でやっても良さそう、みたいな
+* [A monadic calculus for parallel costing of a functional language of arrays](http://link.springer.com/chapter/10.1007%2FBFb0002796)
+* 実行コストを計算するモデルを定義
+* それを計算する cost monad とか作る
 
-
-# fuga
+# Idea : Functor with Environment
+* 環境を考える(variables, type information)
+* 環境と対応した Functor を考える
+    * 通常の環境がメインメモリ空間
+    * GPUメモリ空間は異なる環境(for Cerium)
+    * 別のPCも別空間(for Alice) # hand shaking with data segment signature
 
-* fuga
-* fugafuga
+# Idea : Functor with Environment
+* 通常の環境の演算はGPU空間でも同じっぽい
+    * Functor になりそう
+    * GPU に行って、計算して戻ってきても良い
+    * べつに CPU環境で実行しても良い
+* Code Segment と Data Segment の categorical な考え方になるかも?
+* 割と精査はしていません
 
 <!-- vim: set filetype=markdown.slide: -->