Frage

Ich hatte einige Erfahrung in Haskell und zur Zeit Scala zu lernen. Frage mich, ob es etwas Gleichwertiges zu Monaden in Scala ??

ist
War es hilfreich?

Lösung

Sie wollen wahrscheinlich scalaz ; Es wurde von Haskell stark beeinflusst. Tatsächlich hat es oft von einem der wichtigsten Mitwirkenden gefragt worden, warum sie nicht nur mit Haskell, wie sie scheinen, wie es so viel!

macht Scalaz starke Nutzung von implicits, um Strukturen zu schmücken mit ihren Monaden. Zum Beispiel:

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

Andere Tipps

Ich denke, ist erwähnenswert, dass Scala „für Verständnis“ zu Haskells entspricht monadischen „do“

Sowohl Option und Liste sind Monaden. Ich glaube auch, dass entweder die linken und rechten Vorsprünge sind auch Monaden.

Es gibt keinen expliziten Begriff der Monade in Scala Standardbibliothek (es gibt keine entsprechende Merkmal / Klasse oder typeclass).

Scala beschäftigt sich mit dieser in Art einer Ad-hoc-Weise finden Sie unter Scala durch Beispiel 's Abschnitt für Comprehensions für Details.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top