Mercurial > hg > Members > atton > generated_seminar_slides
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 >>= k = k a m >>= return = m m >>= (\x -> k x >>= h) = (m >>= k) >>= 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>