Mercurial > hg > Papers > 2014 > toma-master
changeset 69:5e39ab004ae0
fix
author | Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 13 Feb 2014 11:17:15 +0900 |
parents | 5e4ff17a519c |
children | 0b1a059c49fa |
files | slides/master.html |
diffstat | 1 files changed, 18 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/slides/master.html Thu Feb 13 10:10:49 2014 +0900 +++ b/slides/master.html Thu Feb 13 11:17:15 2014 +0900 @@ -86,7 +86,7 @@ Haskellは、全てに型がある </p> <p> - 文字列やHTMLを別の型として扱うことができる + 文字列やHTMLを型として定義し、別の型として扱うことができる </p> <p> 入力として受け取った文字列が、HTML型に自動変換されたりしない<br> @@ -111,6 +111,9 @@ abc = 'a' : [1,2,3] -- error cde = 1 : ['a','b','c'] -- error </pre> + <p> + Haskell 自体が型の不整合を防ぐ + </p> </article> <article> @@ -185,17 +188,14 @@ Haskell の遅延評価 </h3> <p> + 並列実行は遅延評価が問題になる + </p> + <p> haskell では値が必要となるまで式の評価が行われない </p> <p> - 並列実行は遅延評価が問題になる - </p> - <p> 並列に実行するように指示しても、評価が行われなければ並列に動かない </p> - <p> - 出力などを挟んで強制的に即時評価されるようにする - </p> </article> <article> @@ -212,16 +212,19 @@ <pre> ghci> let y = map (+1) [1,2,3] :: [Int] ghci> :sprint y -y= _ +y = _ ghci> length y 3 ghci> :sprint y -y=[_,_,_] +y = [_,_,_] ghci> head y 2 ghci> :sprint y y = [2,_,_] </pre> + <p> + 並列実行時には出力などを挟んで強制的に即時評価されるようにする + </p> </article> <article> @@ -256,7 +259,7 @@ ルートノードは、どの木構造が最新なのかを表す情報 </p> <p> - 状態を持つのはここだけで、並列度を高めるにはルートノードの設計が重要 + スレッド間で共有する状態を持つため、並列度を高めるにはルートノードの設計が重要 </p> <div align="center"> <img src="images/rootnode.png" width="350px"> @@ -292,6 +295,9 @@ <p> 読み込みは他の変更を気にせず並列に行える </p> + <p> + 高速に読み込める + </p> </article> <article> @@ -323,7 +329,7 @@ TVarがついているのはSTMを使っている変数 </p> <p> - 各スレッドから新しく木を作ったりできるように木構造の保持にもSTMを使っている + 各スレッドから新しく木を作ったりできるように木構造の保持にSTMを使っている </p> <p> Jungle は複数の Tree を名前で管理する @@ -456,7 +462,7 @@ <article> <h3> - 親和性機能 + 親和性機能を利用する </h3> <p> 親和性機能とは OS スレッドをCPUコアに固定する機能