2016-09-21 型クラスの書き方 プログラム意味論 Haskell Scalaの書き方がけっこう良い。 trait Functor[F[_]] { def map[A,B](fa: F[A])(f: A => B) : F[B] }