![](/img/trans.png)
[英]Is there an inject equivalent for Haskell in the context of free monads
[英]Scala equivalent to Haskell monads
我在Haskell有一些經驗,目前正在學習Scala。 我想知道Scala中是否有相當於Monads的東西?
你可能想查看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) )
我認為值得注意的是,斯卡拉的“理解”等同於哈斯克爾的monadic“do”
Scala標准庫中沒有明確的monad概念(沒有合適的特征/類或類型類)。
Scala以一種特殊的方式處理這個問題,請參閱Scala的示例部分以了解詳細信息。
Option和List都是monad。 我也相信Either的左右投影也是monad。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.