Haskellerのためのモノイド完全ガイド
BRANK

Haskellにおけるモノイドについて解説記事を書いてみた。他の言語でも通用する話があるかもしれないし、ないかもしれない。目次1 モノイドとは2 HaskellとMonoidクラス3 モノイドの例3.1 文字列 (String, Text, ByteString)3.2 リスト3.3 数:足し算と掛け算 (Sum, Product)3.4 Bool: 論理積と論理和 (All, Any)3.5 自分自身への関数 a -> a (Endo)3.6 Maybe, First, Last3.7 Max, Min: 大きい方と小さい方3.8 Ordering: 辞書式順序3.9 IOと逐次実行3.10 その他4 モノイドに関するアルゴリズム4.1 リスト等の畳み込み(fold)4.2 繰り返し乗算4.3 Writerモナド5 モノイドから新しいモノイドを構成する5.1 SumやProductの存在意義5.2 タプル5.3 関数5.4 Dual5.5 モナドとモノイドからモノイドを作る: Ap6 半群 (Semigroup)6.1 半群の例(特に、モノイドになるとは限らないもの)6.1.1 NonEmpty: 空ではないリスト6.1.2 Max, Min: 大きい方と小さい方6.1.3 First, Last (Data.Semigrop)6.1.4 Void6.1.5 集合の共通部分6.2 半群とMaybeとモノイド7 半群、モノイド、じゃあ次は?8 歴史の話:Semigroup-Monoid Proposal以前(GHC 8.2まで)9 Haskell中上級者向けの注意点:演算…

blog.miz-ar.info
Related Topics: Haskell