Good scalaz introduction [fermé]

215

Récemment, le scalaz a attiré mon attention. Cela semble très intéressant, mais je n'ai trouvé aucune bonne introduction à la bibliothèque. Il semble que le scalaz incorpore beaucoup d'idées de haskell et de mathématiques. La plupart des articles que j'ai trouvés supposent que vous vous sentez déjà à l'aise avec ces concepts.

Ce que je recherche, c'est une introduction progressive à la bibliothèque et aux concepts sous-jacents - des concepts simples et basiques aux plus avancés (qui basent sur les bases).

J'ai également regardé les exemples , mais il est difficile pour moi de trouver le point où je devrais commencer à apprendre la bibliothèque.

Quelqu'un peut-il me recommander une bonne introduction ou un didacticiel scalaz (qui couvre les bases et les concepts avancés)? Ou donnez-moi un point de départ dans la réponse.


Mettre à jour

Merci à tous pour les bonnes réponses! J'ai résumé toutes les réponses et ajouté quelques liens supplémentaires dans mon blog:

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

Et pour ceux qui ont du mal à trouver la documentation de l'API pour Scalaz, ils sont ici:

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

tenshi
la source

Réponses:

78

Hieko Seeberger a récemment commencé à bloguer sur la programmation fonctionnelle et la théorie des catégories appliquées à Scala. Deux postes d'ouverture sont très éducatifs (et faciles à lire) et peuvent aider à franchir la barrière initiale de l'apprentissage du scalaz .

EDIT: Lorsque vous vous familiarisez avec les principes de base, je vous recommande de lire http://apocalisp.wordpress.com/ (blog dirigé par Runar Oli et Mark Harrah ) et le blog de Tony Morris

UPD: chapitre "Functors, Applicative Functors and Monoids" de "Learn You a Haskell for Great Good!" a beaucoup d'exemples en Haskell avec des explications détaillées, qui peuvent facilement être traduites en Scala / scalaz.

Vasil Remeniuk
la source
10
Parfait, maintenant, en plus de mon syndrome de curiosité extrême, j'ai le syndrome de mon cerveau qui fond :) :) Quoi qu'il en soit, merci! Articles intéressants. On dirait quelque chose que je cherchais (de toute façon j'encourage tout le monde à poster ses idées - chaque contribution est précieuse)
tenshi
Vous pouvez trouver cette vidéo d'introduction utile: Scalaz "Pour le reste d'entre nous" par Adam Rosien youtube.com/watch?v=kcfIH3GYXMI
Alexey
40

J'ai écrit une série d'articles sur mon blog sur ce sujet, puis je l'ai compilé ensemble:

Eugene Yokota
la source
4
Si vous cherchez quelque chose qui couvre scalaz7 et qui couvre toute la bibliothèque, alors c'est une excellente ressource.
sourcedelica
5
Le problème avec ce tutoriel est qu'il repose sur la familiarité du lecteur avec Haskell. N'ayant aucun fond Haskell moi-même, j'ai trouvé ces articles de blog incroyablement difficiles à lire.
Alex Abdugafarov
20

Il y a aussi quelques ressources vidéo que j'ai vu présenter scalaz à un niveau d'introduction,

Ils sont tous deux donnés par des contributeurs à scalaz et introduisent le contenu et les concepts illustrés par l'évolution d'une série d'exemples de code. Les publics de ces deux conférences étaient des groupes de passionnés de Scala.

Don Mackenzie
la source
3
La présentation de Nick Partridge (# 1, ci-dessus) a été le moment de l'ampoule pour moi.
oxbow_lakes
La première vidéo est vraiment géniale. Je trouve cela très inspirant.
tenshi
1
Ce qui aide vraiment, c'est le rythme que Nick donne dans sa livraison, ce qui laisse suffisamment de temps pour que les informations pénètrent et empêchent ainsi ce sentiment familier (pour moi) de se noyer dans les détails. Je pense que les opinions exprimées à la fin de la vidéo sont également très pertinentes.
Don Mackenzie
13

Pas testé moi-même, mais peut-être que ce guide Scalaz peut aider, initialement écrit en novembre 2010 (et / ou peut être contribué, car il n'est plus maintenu depuis mi-2012).

VonC
la source
3
Le lien semble rompu.
Bill
1
@Bill True, j'ai restauré un lien vers une ancienne version de ce projet, qui n'est plus maintenue.
VonC