Mercurial > hg > Papers > 2015 > atton-thesis
changeset 14:586f3ce1effe
Add folding for section
author | Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 08 Feb 2015 12:22:56 +0900 |
parents | 9fed7b342d56 |
children | 6c0d32ef01cd |
files | category.tex delta.tex |
diffstat | 2 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/category.tex Sun Feb 08 12:20:17 2015 +0900 +++ b/category.tex Sun Feb 08 12:22:56 2015 +0900 @@ -5,6 +5,8 @@ ここで Monad の定義と要請されるMonad則について述べる。 また、定義は Monad の解説に必要な部分についてのみ解説する。 +% {{{ Category + \section{Category} まずは Monad の定義に必要な Category (圏)について述べる。 @@ -87,6 +89,8 @@ commutative diagram が commutative である時、moprhism の合成順序が異なっても結果が同じであることを利用して等価性の証明を行なうことを diagram chasing と呼ぶ。 ある性質を category に mapping し、diagram chasing を用いて証明を導くことで性質を解析していく。 +% }}} + \section{Functor} \section{Natural Transformation}
--- a/delta.tex Sun Feb 08 12:20:17 2015 +0900 +++ b/delta.tex Sun Feb 08 12:22:56 2015 +0900 @@ -17,6 +17,8 @@ 全ての変更単位で変更されたプログラムを保存し、それらを比較することでプログラムの変更を表現しようと考えた。 このメタ計算を表す Monad を Delta Monad と呼ぶ。 +% {{{ Delta Monad の定義 + \section{Delta Monad の定義} 任意の型Aに対するメタ計算Tを考えた時、プログラムの変更は式\ref{exp:meta_computation_definition}のように定義される。 @@ -28,7 +30,9 @@ V はプログラムの全てバージョンの集合であり、V AとすることでAに対応する値の集合を返すものとする。 +% }}} +% {{{ Haskell における Delta Monad の実装例 \section{Haskell における Delta Monad の実装例} @@ -88,6 +92,9 @@ なお、中置関数 \verb/>>=/ で用いたコンストラクタによる処理の分岐はパターンマッチと呼ばれる。 Haskell ではコンストラクタごとに関数を記述することでパターンマッチを実現する。 +% }}} + +% {{{ Delta を用いたプログラムの変更の記述例 \section{Delta を用いたプログラムの変更の記述例} プログラムの変更を表現するメタ計算に対応するデータ型 Delta が記述できた。 @@ -154,3 +161,5 @@ \label{fig:delta_example} \end{center} \end{figure} + +% }}}