Identity, MA, MABで使う型クラスはほとんど書いたので、モナドを書いていこうと思います。
Writer
計算中の値とは別にもう1つログを作ります。
値とログはoverとwrittenで取り出せます。
Writers#writerで直接インスタンスを作ることも出来ます。
WriterT
Writerのモナド変換子バージョン。
WriterTに定義してある型クラスのインスタンスは全て[α]WriterT[M, W, α]となっているので、BindやFunctorのインスタンスを利用するには、型の別名が必要みたいです。
put, putWithの他に、liftw, liftwWith, writerTがあります。
Writerは使えそうだけど使い方がわからないモナドの一つでしたが、モナド変換子の使い方もわかったし、これからはロジックの中に組み込んでいけそうです。
0 件のコメント:
コメントを投稿