Buona introduzione allo scalaz [chiuso]


215

Di recente lo scalaz ha attirato la mia attenzione. Sembra molto interessante, ma non ho trovato nessuna buona introduzione alla biblioteca. Sembra che lo scalaz incorpori molte idee di haskell e matematica. La maggior parte degli articoli che ho trovato presuppongono che tu ti senta già a tuo agio con questi concetti.

Quello che sto cercando è una graduale introduzione alla biblioteca e ai concetti sottostanti - dai concetti semplici e di base a quelli più avanzati (che basano sulle basi).

Ho anche guardato agli esempi , ma è difficile per me trovare il punto in cui dovrei iniziare a imparare la biblioteca.

Qualcuno può consigliarmi una buona introduzione o tutorial su scalaz (che copre concetti di base e concetti avanzati)? O dammi il punto di partenza nella risposta.


Aggiornare

Grazie a tutti per le ottime risposte! Ho riassunto tutte le risposte e ho aggiunto altri collegamenti nel mio blog:

https://github.com/OlegIlyenko/hacking-scala-blog/blob/master/posts/Scalaz-Resources-For-Beginners.md

E per coloro che fanno fatica a trovare la documentazione API per Scalaz sono qui:

http://docs.typelevel.org/api/scalaz/nightly/index.html#package

Risposte:


78

Hieko Seeberger ha recentemente iniziato a scrivere blog sulla programmazione funzionale e la teoria delle categorie applicate a Scala. Due post di apertura sono molto istruttivi (e facili da leggere) e possono aiutare a superare la barriera iniziale nell'apprendimento dello scalaz .

EDIT: Quando ti senti a tuo agio con i fondamenti, ti consiglio di leggere http://apocalisp.wordpress.com/ (blog guidato da Runar Oli e Mark Harrah ) e il blog di Tony Morris

UPD: capitolo "Functors, Functors e Monoids" di "Learn You a Haskell for Great Good!" ha molti esempi in Haskell con spiegazioni dettagliate, che possono essere facilmente tradotte in Scala / scalaz.


10
Perfetto, ora oltre alla mia sindrome da estrema curiosità ho la sindrome del mio cervello che si sta sciogliendo :) Comunque, grazie! Articoli interessanti. Sembra qualcosa che stavo cercando (comunque incoraggio tutti a pubblicare le loro idee - ogni input è prezioso)
tenshi

Puoi trovare utile questo video introduttivo: Scalaz "Per il resto di noi" di Adam Rosien youtube.com/watch?v=kcfIH3GYXMI
Alexey

40

Ho scritto una serie di post sul mio blog su questo argomento, quindi li ho compilati insieme:


4
Se stai cercando qualcosa che copra scalaz7 e che copra l'intera libreria, questa è un'ottima risorsa.
sourcedelica,

5
Il problema con questo tutorial è che si basa sulla familiarità del lettore con Haskell. Non avendo alcun background di Haskell, ho trovato questi articoli del blog incredibilmente difficili da leggere.
Alex Abdugafarov,

20

Ci sono anche alcune risorse video che ho visto presentare scalaz a livello introduttivo,

Entrambi sono dati dai collaboratori di scalaz e introducono i contenuti e i concetti illustrati evolvendo una serie di esempi di codice. Il pubblico di entrambi questi discorsi erano gruppi di appassionati della Scala.


3
La presentazione di Nick Partridge (n. 1 in alto) è stato per me il momento della lampadina.
oxbow_lakes,

Il primo video è davvero fantastico. Lo trovo molto stimolante.
tenshi,

1
Ciò che aiuta davvero è il ritmo che Nick stabilisce nella sua consegna, il che lascia abbastanza tempo perché le informazioni possano affondare, evitando così quella sensazione familiare (per me) di annegare nei dettagli. Le opinioni espresse alla fine del video, credo, sono anche molto pertinenti.
Don Mackenzie,


13

Non ho testato me stesso, ma forse questa Guida di Scalaz può essere d'aiuto, inizialmente scritta nel novembre 2010 (e / o può essere contribuito a, poiché non è più mantenuta da metà 2012).


3
Il collegamento sembra essere rotto.
Bill

1
@Bill True, ho ripristinato un collegamento a una vecchia versione di quel progetto, che non è più mantenuta.
VonC,



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.