1. 5日目

5日目 

Derived from Bello Nock's Sky Walk by Chris Phutully

4日目は Semigroup と Monoid をみて、 独自のモノイドを実装した。あとは、foldMap などができる Foldable も少しかじった。

Apply.ap 

今日は、更新のお知らせから。まず、3日目にみた Apply.apply だけど、 Apply.ap に改名された (戻ったとも言えるが)。 #308

Serializable な型クラスインスタンス 

以前のバージョンでモノイドの法則検査を値クラスに対して行った時に Serializable 関連で失敗していた。 これは、実は Cats のせいじゃないらしいことが分かった。Cats の gitter に行った所、Erik (@d6/@non) が親切に僕の型クラスインスタンスが serializable じゃないのは REPL から定義されているせいだと教えてもらった。 Firstsrc/ 以下で定義した所、法則は普通に合格した。

Jason Zaugg (@retronym) さんの指摘によると、分散処理時に受送信両者の Cats のバージョンが完全に一致するとき以外でのシリアライゼーションをサポートするには、さらに:

  • 匿名クラスの回避 (クラス名の変更を避けるため)
  • 全てに @SerialVersionUID(0L) を付ける必要がある

など他にも気をつけることがあるということだった。