Mercurial > hg > Members > atton > generated_seminar_slides
view slides/20140715/slide.html @ 104:d4e4ecc1c347
auto-Update generated slides by script
author | Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 29 Mar 2016 18:58:54 +0900 |
parents | dfd2f6a3c82d |
children |
line wrap: on
line source
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>プログラムのデバッグ支援(仮)</title> <meta name="generator" content="Slide Show (S9) v2.5.0 on Ruby 2.3.0 (2015-12-25) [x86_64-darwin14]"> <meta name="author" content="Yasutaka Higa" > <!-- style sheet links --> <link rel="stylesheet" href="s6/themes/projection.css" media="screen,projection"> <link rel="stylesheet" href="s6/themes/screen.css" media="screen"> <link rel="stylesheet" href="s6/themes/print.css" media="print"> <link rel="stylesheet" href="s6/themes/blank.css" media="screen,projection"> <!-- JS --> <script src="s6/js/jquery-1.11.3.min.js"></script> <script src="s6/js/jquery.slideshow.js"></script> <script src="s6/js/jquery.slideshow.counter.js"></script> <script src="s6/js/jquery.slideshow.controls.js"></script> <script src="s6/js/jquery.slideshow.footer.js"></script> <script src="s6/js/jquery.slideshow.autoplay.js"></script> <!-- prettify --> <link rel="stylesheet" href="scripts/prettify.css"> <script src="scripts/prettify.js"></script> <script> $(document).ready( function() { Slideshow.init(); $('code').each(function(_, el) { if (!el.classList.contains('noprettyprint')) { el.classList.add('prettyprint'); el.style.display = 'block'; } }); prettyPrint(); } ); </script> <!-- Better Browser Banner for Microsoft Internet Explorer (IE) --> <!--[if IE]> <script src="s6/js/jquery.microsoft.js"></script> <![endif]--> </head> <body> <div class="layout"> <div id="header"></div> <div id="footer"> <div align="right"> <img src="s6/images/logo.svg" width="200px"> </div> </div> </div> <div class="presentation"> <div class='slide cover'> <table width="90%" height="90%" border="0" align="center"> <tr> <td> <div align="center"> <h1><font color="#808db5">プログラムのデバッグ支援(仮)</font></h1> </div> </td> </tr> <tr> <td> <div align="left"> Yasutaka Higa - profile not found - <hr style="color:#ffcc00;background-color:#ffcc00;text-align:left;border:none;width:100%;height:0.2em;"> </div> </td> </tr> </table> </div> <div class='slide '> <!-- === begin markdown block === generated by markdown/1.2.0 on Ruby 2.3.0 (2015-12-25) [x86_64-darwin14] on 2016-03-29 18:58:12 +0900 with Markdown engine kramdown (1.9.0) using options {} --> <!-- _S9SLIDE_ --> <h1 id="section">研究目的(仮)</h1> <ul> <li>プログラミングにおいて、ソースコードを改変するとプログラムの挙動も変わる</li> <li>挙動は予想されていた挙動と異なる場合があり、それはバグとなる</li> <li>ソースコードの改変前と改変後の挙動を比較することで、デバッグの支援になるのでは無いか</li> <li>異なるバージョンのプログラムを同時に実行できるデバッグ支援ツールを開発する</li> </ul> </div> <div class='slide '> <!-- _S9SLIDE_ --> <h1 id="section-1">近況報告</h1> <ul> <li>オープンキャンパスは土曜日です</li> <li>ハッカーズチャンプルー行ってきました</li> <li>glibc の printf ちょっと見たりしました</li> <li>parallel debugger の 例探しは難航中</li> <li>Reflection without remorse を一通り流し読み</li> </ul> </div> <div class='slide '> <!-- _S9SLIDE_ --> <h1 id="parallel-debugger-sample-session">parallel debugger sample session</h1> <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> </div> <div class='slide '> <!-- _S9SLIDE_ --> <h1 id="reflection-without-remorse">reflection without remorse</h1> <ul> <li>所感まとめ <ul> <li>モノイドに対する演算で右結合だと遅いやつ</li> <li>それを右結合で書かれても CPS にすることで左結合にしよう</li> <li>データ型の変換で CPS に変えることができそう</li> </ul> </li> <li>適応例 <ul> <li>list の ++ とか</li> <li>Monad にも適用可能っぽいです</li> </ul> </li> </ul> </div> <div class='slide '> <!-- _S9SLIDE_ --> <h1 id="reflection-without-remorse---diff-list">reflection without remorse - diff list</h1> <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> </div> <div class='slide '> <!-- _S9SLIDE_ --> <h1 id="reflection-without-remorse---abs-and-rep">reflection without remorse - abs and rep</h1> <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> </div> <div class='slide '> <!-- _S9SLIDE_ --> <h1 id="reflection-without-remorse---concat-diffliset">reflection without remorse - concat diffliset</h1> <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 === --> </div> </div><!-- presentation --> </body> </html>