view slides/20141021/slide.html @ 76:1211e97e1569

auto-Update generated slides by script
author Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
date Mon, 27 Apr 2015 18:33:12 +0900
parents e8c0f32c7c0c
children d4e4ecc1c347
line wrap: on
line source

<!DOCTYPE HTML>

<html lang="Japanese">
<head>
	<title>モナドによるプログラムの拡張</title>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=1274, user-scalable=no">
	<meta name="generator" content="Slide Show (S9)">
	<meta name="author" content="Yasutaka Higa">
	<link rel="stylesheet" href="themes/ribbon/styles/style.css">
	<style>
		#Cover H2 {
			color:#FFF;
			text-align:center;
			font-size:70px;
			}
	</style>
</head>
<body class="list">
	<header class="caption">
		<h1>モナドによるプログラムの拡張</h1>
		<p>Yasutaka Higa</p>
	</header>
	<div class="slide bg" id="Cover"><div>
		<section>
			<header>
				<h2>モナドによるプログラムの拡張</h2>
			</header>
			
			<img src="pictures/" alt="">
			<!-- © John Carey, http://fiftyfootshadows.net/ -->
		</section>
	</div></div>

<!-- todo: add slide.classes to div -->
<!-- todo: create slide id from header? like a slug in blogs? -->

<div class="slide" id="2"><div>
		<section>
			<header>
				<h1 id="modified">研究目的(modified)</h1>
			</header>
			<!-- === begin markdown block ===

      generated by markdown 1.1.1 on Ruby 2.1.3 (2014-09-19) [x86_64-darwin13.0]
                on 2014-10-21 17:45:48 +0900 with Markdown engine kramdown (1.4.2)
                  using options {}
  -->

<!-- _S9SLIDE_ -->

<ul>
  <li>プログラミングにおいて、ソースコードを改変するとプログラムの挙動も変わる</li>
  <li>しかし、バージョン互換を維持する場合など、ソースコードを変更した後も同じ結果を得たい場合もある</li>
  <li>プログラムの改変をモナドによる拡張としてとして記述することで過去のプログラムの挙動も保存したい</li>
  <li>これによりリファクタリング支援や後方互換性の確保、拡張による実行結果の変化の検出などを行なう</li>
</ul>



		</section>
</div></div>

<div class="slide" id="3"><div>
		<section>
			<header>
				<h1 id="summary">Summary</h1>
			</header>
			<!-- _S9SLIDE_ -->

<ul>
  <li>中間発表予稿提出が今月末(10/30)</li>
  <li>教官室 Mac mini の domain を教えてください</li>
  <li>Similar の Functor 則の証明 in Agda</li>
  <li>Similar の Monad 則の証明中 in Agda</li>
  <li>あと例題欲しい
    <ul>
      <li>Haskell で version compatible なコードを書く予定</li>
    </ul>
  </li>
</ul>



		</section>
</div></div>

<div class="slide" id="4"><div>
		<section>
			<header>
				<h1 id="proof-functor-laws-to-similar">Proof Functor-laws to similar</h1>
			</header>
			<!-- _S9SLIDE_ -->

<ul>
  <li>Functor-laws <a href="http://www.haskell.org/haskellwiki/Functor">(Haskell)</a></li>
  <li>refl で問題無し</li>
</ul>

<pre><code>    fmap id      = id
    fmap (p . q) = (fmap p) . (fmap q)
</code></pre>



		</section>
</div></div>

<div class="slide" id="5"><div>
		<section>
			<header>
				<h1 id="proof-monad-laws-to-similar-category">Proof Monad-laws to Similar (Category)</h1>
			</header>
			<!-- _S9SLIDE_ -->

<ul>
  <li>Monad-laws (Category)
    <ul>
      <li>mu and eta</li>
    </ul>
  </li>
</ul>

<pre><code>join . fmap join = join . join
join . fmap return = join . return = id
return . f = fmap f . return
join . fmap (fmap f) = fmap f . join
</code></pre>



		</section>
</div></div>

<div class="slide" id="6"><div>
		<section>
			<header>
				<h1 id="proof-monad-laws-to-similar-haskell">Proof Monad-laws to Similar (Haskell)</h1>
			</header>
			<!-- _S9SLIDE_ -->

<ul>
  <li>Monad-laws (Haskell)
    <ul>
      <li>return and bind</li>
    </ul>
  </li>
</ul>

<pre><code>    return a &gt;&gt;= k  =  k a
    m &gt;&gt;= return  =  m
    m &gt;&gt;= (\x -&gt; k x &gt;&gt;= h)  =  (m &gt;&gt;= k) &gt;&gt;= h
</code></pre>



		</section>
</div></div>

<div class="slide" id="7"><div>
		<section>
			<header>
				<h1 id="check-point">Check Point</h1>
			</header>
			<!-- _S9SLIDE_ -->

<ul>
  <li>3 つめでちょっとつまってます</li>
</ul>

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

		</section>
</div></div>


	<!--
		To hide progress bar from entire presentation
		just remove “progress” element.
		-->
	<div class="progress"><div></div></div>
	<script src="scripts/script.js"></script>
	<!-- Copyright © 2010–2011 Vadim Makeev, http://pepelsbey.net/ -->
</body>
</html>