私は Haskell の経験があり、現在 Scala を学んでいます。Scala にモナドに相当するものがあるかどうか疑問に思っています??
質問する
1654 次
4 に答える
12
あなたはおそらくscalazをチェックアウトしたいと思うでしょう。Haskell の影響を強く受けています。実際、主要な貢献者の 1 人に、 Haskell をとても気に入っているように見えるのに、なぜHaskellだけを使用しないのかとよく尋ねられます。
Scalaz は、構造体をモナドで装飾するために、暗黙を多用します。例えば:
val fibs = (0, 1).iterate[Stream]( i => i._2 -> (i._2 + i._1) ).map(_._1)
println( fibs.take(10) )
于 2010-02-10T13:42:11.753 に答える
9
Scala の "for-comprehension" が Haskell のモナド "do" と同等であることは注目に値すると思います。
于 2010-02-11T00:45:38.853 に答える
0
Scala 標準ライブラリにはモナドの明示的な概念はありません (適切なトレイト/クラスまたは型クラスはありません)。
Scala はこれをアドホックな方法で処理します。詳細については、 Scala by exampleのセクションの内包表記を参照してください。
于 2016-02-12T10:48:49.407 に答える
0
Option も List もモナドです。また、Either の左右の射影もモナドであると考えています。
于 2011-10-02T18:41:25.533 に答える