# HG changeset patch # User Daichi TOMA # Date 1391211615 -32400 # Node ID eb6a70fc9c9fb3e799421b624580a234c61f9dc5 # Parent a551888363cb035dd95317452c3a25e1eb7cb988 describe the haskell diff -r a551888363cb -r eb6a70fc9c9f paper/chapter1.tex --- a/paper/chapter1.tex Sat Feb 01 04:15:53 2014 +0900 +++ b/paper/chapter1.tex Sat Feb 01 08:40:15 2014 +0900 @@ -43,6 +43,7 @@ 関数をリストなどのデータ構造の要素にしたり、 関数が引数として関数を取ったり、 関数の返り値として関数を返したり、関数を自分自身を用いて定義したりできる。 +\clearpage \section{型} Haskell では、すべての式、すべての関数に型がある。 値の型は、その値が同じ型の別の値と何らかの性質を共有していることを示す。 @@ -88,7 +89,6 @@ リストの例をソースコード\ref{src:list}に示す。 -\newpage \begin{lstlisting}[label=src:list, caption=Haskellのリスト] ghci> :type [True, False, False] [True, False, False] :: [Bool] @@ -151,7 +151,6 @@ 型推論では、適用可能な最も広い型が選択されてしまうため、制限するには明示的に型宣言を行う。 明示的な型宣言は可読性の向上や問題の発見に役に立つため、トップレベルの関数には型を明記することが一般的である。 - \subsubsection{多相型} Haskell の型は多相的である。 型変数を使い、型を抽象化できる。 @@ -237,22 +236,60 @@ data Tree a = EmptyTree | Node a (Tree a) (Tree a) deriving (Show) \end{lstlisting} +\clearpage \section{モナド} Haskell では、さまざまな目的にモナドを使う。 -モナドを用いることで I/O 処理を行うこともできる。 +I/O 処理を行うためには IO モナドを使う必要がある。 +プログラミングを行うにあたり、I/O 処理は欠かせないため、Haskell を利用するにあたってモナドの理解は必須である。 +モナドとは、型クラスの 1 つである。 モナドとなる型は、型変数として具体型をただ1つ取る。 これにより何かしらのコンテナに包まれた値を実現する。 -モナドの振る舞いは型クラスとして実装し、メソッドとして return および $>$$>$= を定義する。 -return は値を持ち上げてコンテナに包む機能を実装する。 -$>$$>$= は、「コンテナに包まれた値」と、「普通の値を取りコンテナに包まれた値を返す関数」を引数にとり、コンテナに包まれた値をその関数に適用する。 -この2つの関数を利用することにより、状態を保ったまま関数を繋いでいくことができる。 +モナドの振る舞いは型クラスとして実装し、関数として return および $>$$>$= (bind) を定義する。 + +\begin{lstlisting}[label=monad, caption=モナドに属する関数] +return :: Monad m => a -> m a +(>>=) :: Monad m => m a -> (a -> m b) -> m b +\end{lstlisting} + +return は値を持ち上げてコンテナに包む機能を実装する(図\ref{fig:monad_return})。 + +\begin{figure}[!htbp] + \begin{center} + \includegraphics[scale=0.6]{./images/monad_return.pdf} + \end{center} + \caption{モナドに属する return 関数} + \label{fig:monad_return} +\end{figure} + +bind は、「コンテナに包まれた値」と、「普通の値を取りコンテナに包まれた値を返す関数」を引数にとり、コンテナに包まれた値をその関数に適用する(図\ref{fig:monad_bind})。 +適用する際、前のコンテナの結果に依存して、後のコンテナの振る舞いを変えられる。 + +\begin{figure}[!htbp] + \begin{center} + \includegraphics[scale=0.6]{./images/monad_bind.pdf} + \end{center} + \caption{モナドに属する $>$$>$= (bind) 関数} + \label{fig:monad_bind} +\end{figure} + +この2つの関数を利用することにより、文脈を保ったまま関数を繋いでいくことができる。 +Haskell の遅延評価は記述した順序で実行することを保証しないが、モナドの bind は実行順序の指定も可能で、IO モナドを bind で繋いだものは記述順に実行することができる。 Haskellで副作用を持つ処理を実行するには、IO モナドを利用する。 -IO モナドは、mainという名前と関連づけることで初めて実行される。 -IO モナド自体は単なる命令書であり、引数として渡したりするだけでは実行されない。 -そのため、IO モナドをリストに格納したりすることも可能である。 +IO モナド自体は単なる命令書であり、命令ではない。 +bind を使って、小さな命令書を合成して大きな命令書を作成できる。 +最終的に、mainという名前をつけることで初めてランタイムにより実行される。 + +Haskell の関数には副作用がないと。 +IO モナドを返す関数にも副作用は存在しない。 +例えば、getChar という関数がある。 +呼び出した状況によって、返ってくる文字が違うため副作用があるようにみえる。 +しかし、実際にこの関数が返すのは、「一文字読み込む」という命令書である。 +どんな状況においても同じ命令書を返すため、副作用はない。 + +\clearpage \section{並列実行} Haskellはデフォルトではシングルスレッドで走る。 並列に動かしたい場合は、-threaded 付きでコンパイルし、RTS の -N オプションを付けて実行する。 @@ -298,8 +335,16 @@ return (a,b) \end{lstlisting} -rpar/rpar パターンは単純に並列に動かしたい時に利用する。 -即座に return される。 +rpar/rpar パターンは即座に return される(図\ref{fig:rpar})。 +単純に並列に動かしたい時に利用する。 + +\begin{figure}[!htbp] + \begin{center} + \includegraphics[scale=0.6]{./images/rpar_rpar.pdf} + \end{center} + \caption{rpar/rpar パターン} + \label{fig:rpar} +\end{figure} \begin{lstlisting}[label=rpar/rseq/rseq, caption=rpar/rseq/rseq] runEval $ do @@ -309,6 +354,16 @@ return (a,b) \end{lstlisting} -rpar/rseq/rseq パターンは、f x および f y の結果を待ってから return する。 +rpar/rseq/rseq パターンは、f x および f y の結果を待ってから return する(図\ref{fig:rseq})。 他の処理が結果を必要としている時に利用する。 +\begin{figure}[!htbp] + \begin{center} + \includegraphics[scale=0.6]{./images/rpar_rseq.pdf} + \end{center} + \caption{rpar/rseq/rseq パターン} + \label{fig:rseq} +\end{figure} + +rparは非常にコストが低いため、リストに対してmapするといった適用の仕方でも充分な並列性が出る。 +そのための関数 parMap も、 Control.Parallel.Strategies モジュールには用意されている。 diff -r a551888363cb -r eb6a70fc9c9f paper/chapter4.tex --- a/paper/chapter4.tex Sat Feb 01 04:15:53 2014 +0900 +++ b/paper/chapter4.tex Sat Feb 01 08:40:15 2014 +0900 @@ -257,7 +257,6 @@ \section{ウェブアプリケーションに組み込んでの性能評価} \subsection{簡単な掲示板ウェブアプリケーションの実装} -\subsubsection{簡単な掲示板ウェブアプリケーション} 木構造データベース Jungle と Haskell の HTTP サーバ Warp を用いて簡易掲示板システムを作成する。 \subsubsection{Warp を用いたウェブアプリケーションの構築} diff -r a551888363cb -r eb6a70fc9c9f paper/images/monad_bind.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/images/monad_bind.graffle Sat Feb 01 08:40:15 2014 +0900 @@ -0,0 +1,649 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro + 139.17.0.185490 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559, 783}} + Class + SolidGraphic + FontInfo + + Font + AmericanTypewriter + Size + 18 + + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2014-01-31 22:12:34 +0000 + Creator + Daichi TOMA + DisplayScale + 1.000 cm = 1.000 m + GraphDocumentVersion + 8 + GraphicsList + + + Class + Group + Graphics + + + Class + LineGraphic + ID + 29 + Points + + {227.75, 135} + {254.75, 135} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + + + Class + Group + Graphics + + + Bounds + {{270.75, 125}, {53, 31}} + Class + ShapedGraphic + ID + 31 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + CornerRadius + 5 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 RictyDiscord-Regular;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 b} + + + + Bounds + {{262.75, 101}, {69, 69}} + Class + ShapedGraphic + ID + 32 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 m} + + TextPlacement + 0 + + + ID + 30 + + + Bounds + {{166.75, 120}, {53, 31}} + Class + ShapedGraphic + ID + 33 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + CornerRadius + 5 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 RictyDiscord-Regular;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 a} + + + + Bounds + {{160, 81}, {179, 97}} + Class + ShapedGraphic + ID + 34 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 RictyDiscord-Regular;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 f} + + TextPlacement + 0 + + + ID + 28 + + + Bounds + {{114, 119.5}, {27, 20}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 23 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 RictyDiscord-Regular;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 >>=} + VerticalPad + 0 + + Wrap + NO + + + Class + Group + Graphics + + + Bounds + {{427, 119}, {53, 31}} + Class + ShapedGraphic + ID + 14 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + CornerRadius + 5 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 RictyDiscord-Regular;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 b} + + + + Bounds + {{419, 95}, {69, 69}} + Class + ShapedGraphic + ID + 15 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 m} + + TextPlacement + 0 + + + ID + 13 + + + Class + Group + Graphics + + + Bounds + {{34, 119}, {53, 31}} + Class + ShapedGraphic + ID + 11 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + CornerRadius + 5 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 RictyDiscord-Regular;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 a} + + + + Bounds + {{26, 95}, {69, 69}} + Class + ShapedGraphic + ID + 12 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 m} + + TextPlacement + 0 + + + ID + 10 + + + Bounds + {{353, 114}, {47, 31}} + Class + ShapedGraphic + ID + 7 + Shape + AdjustableArrow + ShapeData + + width + 23 + + Style + + shadow + + Draws + NO + + + + + Bounds + {{62, 191}, {396, 20}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 3 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 RictyDiscord-Regular;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 (>>=) :: Monad m => m a -> (a -> m b) -> m b} + VerticalPad + 0 + + Wrap + NO + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2014-01-31 22:41:42 +0000 + Modifier + Daichi TOMA + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {595, 842} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + Canvas 1 + + + Frame + {{936, 334}, {962, 922}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 119 + VisibleRegion + {{-135, 0}, {828, 783}} + Zoom + 1 + ZoomValues + + + Canvas 1 + 1 + 1 + + + + + diff -r a551888363cb -r eb6a70fc9c9f paper/images/monad_bind.pdf Binary file paper/images/monad_bind.pdf has changed diff -r a551888363cb -r eb6a70fc9c9f paper/images/monad_bind.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/images/monad_bind.xbb Sat Feb 01 08:40:15 2014 +0900 @@ -0,0 +1,8 @@ +%%Title: ./monad_bind.pdf +%%Creator: extractbb 20130405 +%%BoundingBox: 0 0 466 133 +%%HiResBoundingBox: 0.000000 0.000000 466.000000 133.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Sat Feb 1 07:42:29 2014 + diff -r a551888363cb -r eb6a70fc9c9f paper/images/monad_return.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/images/monad_return.graffle Sat Feb 01 08:40:15 2014 +0900 @@ -0,0 +1,377 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro + 139.17.0.185490 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2014-01-31 22:12:34 +0000 + Creator + Daichi TOMA + DisplayScale + 1.000 cm = 1.000 m + GraphDocumentVersion + 8 + GraphicsList + + + Bounds + {{262, 119}, {53, 31}} + Class + ShapedGraphic + ID + 8 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + CornerRadius + 5 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 RictyDiscord-Regular;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 a} + + + + Bounds + {{171, 114}, {47, 31}} + Class + ShapedGraphic + ID + 7 + Shape + AdjustableArrow + ShapeData + + width + 23 + + Style + + shadow + + Draws + NO + + + + + Bounds + {{82, 114}, {53, 31}} + Class + ShapedGraphic + ID + 5 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + CornerRadius + 5 + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 RictyDiscord-Regular;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 a} + + + + Bounds + {{69, 185}, {270, 20}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 3 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 RictyDiscord-Regular;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs36 \cf0 return :: Monad m => a -> m a } + VerticalPad + 0 + + Wrap + NO + + + Bounds + {{254, 95}, {69, 69}} + Class + ShapedGraphic + ID + 9 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 m} + + TextPlacement + 0 + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2014-01-31 22:24:41 +0000 + Modifier + Daichi TOMA + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {595, 842} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + Canvas 1 + + + Frame + {{28, 476}, {962, 922}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 119 + VisibleRegion + {{-135, 0}, {828, 783}} + Zoom + 1 + ZoomValues + + + Canvas 1 + 1 + 1 + + + + + diff -r a551888363cb -r eb6a70fc9c9f paper/images/monad_return.pdf Binary file paper/images/monad_return.pdf has changed diff -r a551888363cb -r eb6a70fc9c9f paper/images/monad_return.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/images/monad_return.xbb Sat Feb 01 08:40:15 2014 +0900 @@ -0,0 +1,8 @@ +%%Title: ./monad_return.pdf +%%Creator: extractbb 20130405 +%%BoundingBox: 0 0 270 113 +%%HiResBoundingBox: 0.000000 0.000000 270.000000 113.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Sat Feb 1 07:25:46 2014 + diff -r a551888363cb -r eb6a70fc9c9f paper/images/rpar_rpar.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/images/rpar_rpar.graffle Sat Feb 01 08:40:15 2014 +0900 @@ -0,0 +1,446 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro + 139.17.0.185490 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2014-01-31 23:10:45 +0000 + Creator + Daichi TOMA + DisplayScale + 1.000 cm = 1.000 m + GraphDocumentVersion + 8 + GraphicsList + + + Bounds + {{130.5, 286}, {32, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 11 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 return} + VerticalPad + 0 + + Wrap + NO + + + Class + Group + Graphics + + + Bounds + {{216, 249}, {23, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 12 + + ID + 13 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 time} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + ID + 14 + Points + + {147, 248} + {317.07875061035156, 248} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 2 + + + + + ID + 12 + + + Bounds + {{147, 187}, {170.07875061035156, 40}} + Class + ShapedGraphic + ID + 6 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Width + 2 + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 RictyDiscord-Regular;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural + +\f0\fs36 \cf0 f y} + + + + Bounds + {{147, 135}, {340.15750122070312, 40}} + Class + ShapedGraphic + ID + 5 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Width + 2 + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 RictyDiscord-Regular;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural + +\f0\fs36 \cf0 f x} + + + + Class + LineGraphic + ID + 3 + Points + + {146, 113} + {146, 279} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + Width + 2 + + + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2014-01-31 23:17:47 +0000 + Modifier + Daichi TOMA + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {595, 842} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + Canvas 1 + + + Frame + {{1038, 456}, {785, 922}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 119 + VisibleRegion + {{-46, 0}, {651, 783}} + Zoom + 1 + ZoomValues + + + Canvas 1 + 1 + 1 + + + + + diff -r a551888363cb -r eb6a70fc9c9f paper/images/rpar_rpar.pdf Binary file paper/images/rpar_rpar.pdf has changed diff -r a551888363cb -r eb6a70fc9c9f paper/images/rpar_rpar.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/images/rpar_rpar.xbb Sat Feb 01 08:40:15 2014 +0900 @@ -0,0 +1,8 @@ +%%Title: ./rpar_rpar.pdf +%%Creator: extractbb 20130405 +%%BoundingBox: 0 0 360 190 +%%HiResBoundingBox: 0.000000 0.000000 360.000000 190.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Sat Feb 1 08:21:09 2014 + diff -r a551888363cb -r eb6a70fc9c9f paper/images/rpar_rseq.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/images/rpar_rseq.graffle Sat Feb 01 08:40:15 2014 +0900 @@ -0,0 +1,455 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro + 139.17.0.185490 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2014-01-31 23:10:45 +0000 + Creator + Daichi TOMA + DisplayScale + 1.000 cm = 1.000 m + GraphDocumentVersion + 8 + GraphicsList + + + Class + Group + Graphics + + + Bounds + {{471, 286.00031280517578}, {32, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 16 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 return} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + ID + 17 + Points + + {486.5, 113.00031280517578} + {486.5, 279.00031280517578} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 1 + TailArrow + 0 + Width + 2 + + + + + ID + 15 + + + Class + Group + Graphics + + + Bounds + {{216, 249}, {23, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 12 + + ID + 13 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 time} + VerticalPad + 0 + + Wrap + NO + + + Class + LineGraphic + ID + 14 + Points + + {147, 248} + {317.07875061035156, 248} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 2 + + + + + ID + 12 + + + Bounds + {{147, 187}, {170.07875061035156, 40}} + Class + ShapedGraphic + ID + 6 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Width + 2 + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 RictyDiscord-Regular;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural + +\f0\fs36 \cf0 f y} + + + + Bounds + {{147, 135}, {340.15750122070312, 40}} + Class + ShapedGraphic + ID + 5 + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Width + 2 + + + Text + + Align + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 RictyDiscord-Regular;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural + +\f0\fs36 \cf0 f x} + + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2014-01-31 23:20:43 +0000 + Modifier + Daichi TOMA + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {595, 842} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + Canvas 1 + + + Frame + {{1058, 436}, {785, 922}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 119 + VisibleRegion + {{-46, 0}, {651, 783}} + Zoom + 1 + ZoomValues + + + Canvas 1 + 1 + 1 + + + + + diff -r a551888363cb -r eb6a70fc9c9f paper/images/rpar_rseq.pdf Binary file paper/images/rpar_rseq.pdf has changed diff -r a551888363cb -r eb6a70fc9c9f paper/images/rpar_rseq.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/images/rpar_rseq.xbb Sat Feb 01 08:40:15 2014 +0900 @@ -0,0 +1,8 @@ +%%Title: ./rpar_rseq.pdf +%%Creator: extractbb 20130405 +%%BoundingBox: 0 0 359 191 +%%HiResBoundingBox: 0.000000 0.000000 359.000000 191.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Sat Feb 1 08:21:09 2014 + diff -r a551888363cb -r eb6a70fc9c9f paper/master_paper.pdf Binary file paper/master_paper.pdf has changed