Domanda

Ho avuto qualche esperienza in Haskell e attualmente l'apprendimento Scala. Chiedo se c'è qualcosa di equivalente a Monadi a Scala ??

È stato utile?

Soluzione

Probabilmente si desidera controllare scalaz ; che è stato fortemente influenzato dalla Haskell. In effetti, è stato spesso chiesto di uno dei contributori principali per cui non sono solo con Haskell, come sembrano piace così tanto!

Scalaz fa un uso pesante di impliciti per decorare le strutture con i loro monadi. Ad esempio:

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

Altri suggerimenti

Credo che la pena notare che di Scala "per-comprensione" è equivalente a Haskell monade "fare"

Sia Opzione e List sono monadi. Credo anche che le proiezioni a destra ea sinistra è o sono anche monadi.

Non esiste il concetto esplicito di monade nella libreria standard Scala (non c'è adeguata trait / classe o typeclass).

Scala si occupa di questo tipo di una metodologia ad hoc, vedere Scala da sezione l 'esempio su espressioni for per i dettagli.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top