typelevelの猫(バージョン0.9.0)試しのためののFunctorインスタンスがscalaz(バージョン7.3.0-M12)ではありませんしながら、scala.util.Tryにcatsというインスタンスがありますが、scalazではインスタンスが存在しないのはなぜですか?
object catsTry {
import cats.Functor
import cats.instances.try_._
import scala.util.Try
val f = implicitly[Functor[Try]] //compile
}
を試してみてくださいためのFunctorのインスタンスを持っています。
object scalazTry {
import scalaz._
import Scalaz._
import scala.util.Try
val f = implicitly[Functor[Try]] // won't compile
}
私は、scalazがTryのFunctorインスタンスを提供しない理由を思い出しますか?
P.S. Renのコメントに感謝します。私はそれが法律ホールドのようになりますhttps://issues.scala-lang.org/browse/SI-6284
@ Success(1) map { ((i:Int)=>numberOrDefault(i)) compose divideByZero }
res3: Try[Int] = Failure(java.lang.ArithmeticException:/by zero)
@ Success(1) map divideByZero map ((i:Int)=>numberOrDefault(i))
res4: Try[Int] = Failure(java.lang.ArithmeticException:/by zero)
にケースを試してみました。私は何かを欠いている?
ディスカッションhttps://github.com/typelevel/cats/pull/1059 – chenhry