Scala相当于Haskell monads

Tej*_*eni 8 monads haskell functional-programming scala

我在Haskell有一些经验,目前正在学习Scala.我想知道Scala中是否有相当于Monads的东西?

oxb*_*kes 12

你可能想查看scalaz ; 它受到了Haskell的强烈影响.事实上,人们常常被问到一个主要的贡献者,他们为什么不只是使用Haskell,因为他们似乎非常喜欢它!

Scalaz大量使用implicits以使用monad来装饰结构.例如:

val fibs = (0, 1).iterate[Stream]( i => i._2 -> (i._2 + i._1) ).map(_._1)
println( fibs.take(10) )
Run Code Online (Sandbox Code Playgroud)


GCl*_*unt 9

我认为值得注意的是,斯卡拉的"理解"等同于哈斯克尔的monadic"do"