Question

J'ai eu une certaine expérience dans Haskell et en apprentissage Scala. Me demande s'il y a quelque chose d'équivalent à Monades dans Scala ??

Était-ce utile?

La solution

Vous voulez probablement consulter scalaz ; il a été fortement influencée par Haskell. En effet, il a souvent été demandé de l'un des premiers contributeurs pourquoi ils ne sont pas juste en utilisant Haskell, comme ils semblent l'aimer tellement!

Scalaz fait un usage intensif de implicits pour décorer les structures avec leurs monades. Par exemple:

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

Autres conseils

Je pense est intéressant de noter que « pour-compréhension » de Scala équivaut à monadique de Haskell « faire »

Les deux options et la liste sont monades. Je crois aussi que les projections gauche et droite sont soit également monades.

Il n'y a pas de notion explicite de monade dans la bibliothèque standard Scala (il n'y a pas trait / classe ou classe de types appropriés).

Scala traite de ce en nature de manière ad hoc, voir Scala par par exemple la section de l ' sur des compréhensions pour plus de détails.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top