4日目は Semigroup と Monoid をみて、
独自のモノイドを実装した。あとは、foldMap
などができる Foldable
も少しかじった。
今日は、更新のお知らせから。まず、3日目にみた Apply.apply
だけど、
Apply.ap
に改名された (戻ったとも言えるが)。 #308
以前のバージョンでモノイドの法則検査を値クラスに対して行った時に Serializable
関連で失敗していた。
これは、実は Cats のせいじゃないらしいことが分かった。Cats の
gitter に行った所、Erik (@d6/@non)
が親切に僕の型クラスインスタンスが serializable じゃないのは
REPL から定義されているせいだと教えてもらった。
First
を src/
以下で定義した所、法則は普通に合格した。
Jason Zaugg (@retronym) さんの指摘によると、分散処理時に受送信両者の Cats のバージョンが完全に一致するとき以外でのシリアライゼーションをサポートするには、さらに:
@SerialVersionUID(0L)
を付ける必要がある
など他にも気をつけることがあるということだった。