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] -&gt; [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 -&gt; [a]
absFromDiffList a = a []
rep :: [a] -&gt; 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 -&gt; DiffList a -&gt; DiffList a
(+++) = (.)
</code></pre>

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


</div><!-- presentation -->
</body>
</html>