Mercurial > hg > Members > atton > generated_seminar_slides
view slides/20140715/slide.html @ 68:ae20b978b159
auto-Update generated slides by script
author | Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 29 Jan 2015 16:59:59 +0900 |
parents | dfd2f6a3c82d |
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="section">研究目的(仮)</h1> </header> <!-- === begin markdown block === generated by markdown 1.1.1 on Ruby 2.1.2 (2014-05-08) [x86_64-darwin13.0] on 2014-08-05 16:09:30 +0900 with Markdown engine kramdown (1.3.3) 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="section-1">近況報告</h1> </header> <!-- _S9SLIDE_ --> <ul> <li>オープンキャンパスは土曜日です</li> <li>ハッカーズチャンプルー行ってきました</li> <li>glibc の printf ちょっと見たりしました</li> <li>parallel debugger の 例探しは難航中</li> <li>Reflection without remorse を一通り流し読み</li> </ul> </section> </div></div> <div class="slide" id="4"><div> <section> <header> <h1 id="parallel-debugger-sample-session">parallel debugger sample session</h1> </header> <!-- _S9SLIDE_ --> <ul> <li>Cerium を clone してみました</li> <li>debugger なので実行できるコードを考える</li> <li>あるならそれで bisect できる <ul> <li>VCS にさせるべきなのかな、と思ってしまったり</li> </ul> </li> <li>もっと内部的な処理が分かる実行コード? <ul> <li>それってもうテストなのでは</li> </ul> </li> <li>うーん、ってなってます</li> </ul> </section> </div></div> <div class="slide" id="5"><div> <section> <header> <h1 id="reflection-without-remorse">reflection without remorse</h1> </header> <!-- _S9SLIDE_ --> <ul> <li>所感まとめ <ul> <li>モノイドに対する演算で右結合だと遅いやつ</li> <li>それを右結合で書かれても CPS にすることで左結合にしよう</li> <li>データ型の変換で CPS に変えることができそう</li> </ul> </li> <li>適応例 <ul> <li>list の ++ とか</li> <li>Monad にも適用可能っぽいです</li> </ul> </li> </ul> </section> </div></div> <div class="slide" id="6"><div> <section> <header> <h1 id="reflection-without-remorse---diff-list">reflection without remorse - diff list</h1> </header> <!-- _S9SLIDE_ --> <ul> <li>hg/Members/atton/haskell/reflection_without_remorse にあります</li> <li>DiffList を定義</li> <li>リストを取ってリストを返す</li> </ul> <pre><code>type DiffList a = [a] -> [a] </code></pre> </section> </div></div> <div class="slide" id="7"><div> <section> <header> <h1 id="reflection-without-remorse---abs-and-rep">reflection without remorse - abs and rep</h1> </header> <!-- _S9SLIDE_ --> <ul> <li>List から DiffList にする rep と DiffList から List にする abs</li> </ul> <pre><code>absFromDiffList :: DiffList a -> [a] absFromDiffList a = a [] rep :: [a] -> DiffList a rep = (++) </code></pre> </section> </div></div> <div class="slide" id="8"><div> <section> <header> <h1 id="reflection-without-remorse---concat-diffliset">reflection without remorse - concat diffliset</h1> </header> <!-- _S9SLIDE_ --> <ul> <li>difflist の concat は 関数合成</li> <li>difflist 最後に abs されるまで ++ は評価されないので速い</li> <li>実行例はリポジトリで</li> </ul> <pre><code>(+++) :: DiffList a -> DiffList a -> DiffList a (+++) = (.) </code></pre> <!-- 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>