エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
タプルはモナド - Qiita
instance Monoid a => Monad ((,) a) -- Defined in ‘GHC.Base’ ドキュメントによるとどうやら base-4.9... instance Monoid a => Monad ((,) a) -- Defined in ‘GHC.Base’ ドキュメントによるとどうやら base-4.9.0.0 から定義されているらしい。そうだよね。昔はなかった気がするもんね。 でもタプルにモナドインスタンスの定義があるからといって特に驚くべきものというわけでもない。このモナドはもうみんな知っているはずだ。 Writer である。 newtype Writer w a = Writer { runWriter :: (a, w) } instance (Monoid w) => Monad (Writer w) モナド副作用としてログ値を隠し持つためにタプルの片方を使おうというわけだ。 Writer の定義では fst 側が値、 snd 側がログ値だが、タプルそのものに定義されているものはこれが逆で、 fst 側がログ値、

