- Scala 2.13.1
- sbt 1.3.3
- ScalaCheck 1.14.1
scala> val law = new Monad.Law[Try] { val M = fn.data.ScalaTry.tryInstances }
law: fn.Monad.Law[scala.util.Try]{val M: fn.Monad[scala.util.Try]} = $anon$1@45f35b79
scala> law.leftIdentity("42", (s: String) => Try(s.toInt))
res0: Boolean = true
scala> law.leftIdentity("Hello", (s: String) => Try(s.toInt))
res1: Boolean = false
-
Scala スケーラブルプログラミング第三版
- 2016年9月21日 初版第1刷発行
- 著: Martin Odersky, Lex Spoon, Bill Venners
- 株式会社インプレス
-
Scala関数型デザイン&プログラミング
- 2015年3月20日
- 著: Paul Chiusano, Rúnar Bjarnason
- 株式会社インプレス
-
Poor Man's Type Classes
-
Pimp my Library
- Martin Odersky
- https://www.artima.com/weblogs/viewpost.jsp?thread=179766
-
MonadTransformer とは何か
-
合成できるモナド、モナドが合成できる時
(敬称略)
https://github.com/aoiroaoino/fn