Gute Scalaz-Einführung [geschlossen]

215

Kürzlich ist mir Scalaz aufgefallen. Es sieht sehr interessant aus, aber ich habe keine gute Einführung in die Bibliothek gefunden. Scheint, dass Scalaz viele Ideen aus Haskell und Mathematik enthält. Die meisten Artikel, die ich gefunden habe, gehen davon aus, dass Sie sich mit diesen Konzepten bereits wohl fühlen.

Was ich suche, ist eine schrittweise Einführung in die Bibliothek und die zugrunde liegenden Konzepte - von einfachen und grundlegenden Konzepten bis hin zu fortgeschritteneren (die auf Grundlagen basieren).

Ich habe mir auch die Beispiele angesehen , aber es fällt mir schwer, den Punkt zu finden, an dem ich anfangen sollte, Bibliothek zu lernen.

Kann mir jemand eine gute Einführung oder ein Tutorial für Scalaz empfehlen (das Grundlagen und fortgeschrittene Konzepte abdeckt)? Oder geben Sie mir einen Ausgangspunkt in der Antwort.


Aktualisieren

Vielen Dank an alle für die tollen Antworten! Ich habe alle Antworten zusammengefasst und weitere Links in meinem Blog hinzugefügt:

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

Und für diejenigen, die Schwierigkeiten haben, die API-Dokumentation für Scalaz zu finden, sind sie hier:

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

Tenshi
quelle

Antworten:

78

Hieko Seeberger hat vor kurzem begonnen, über funktionale Programmierung und Kategorietheorie für Scala zu bloggen . Zwei Eröffnungsbeiträge sind sehr lehrreich (und leicht zu lesen) und können dabei helfen, die anfängliche Barriere beim Erlernen von Scalaz zu überwinden .

EDIT: Wenn Sie mit den Grundlagen vertraut sind, würde ich Ihnen empfehlen, http://apocalisp.wordpress.com/ (Blog von Runar Oli und Mark Harrah ) und das Weblog von Tony Morris zu lesen

UPD: Kapitel "Functors, Applicative Functors and Monoids" in "Learn You a Haskell for Great Good!" hat viele Beispiele in Haskell mit detaillierten Erklärungen, die leicht in Scala / Scalaz übersetzt werden können.

Vasil Remeniuk
quelle
10
Perfekt, jetzt habe ich zusätzlich zu meinem Extrem-Neugier-Syndrom mein Gehirn-Schmelz-Syndrom :) Wie auch immer, danke! Interessante Beiträge. Sieht aus wie etwas, nach dem ich gesucht habe (trotzdem ermutige ich alle, ihre Ideen zu veröffentlichen - jede Eingabe ist wertvoll)
tenshi
Sie können dieses Einführungsvideo nützlich finden: Scalaz "Für den Rest von uns" von Adam Rosien youtube.com/watch?v=kcfIH3GYXMI
Alexey
40

Ich habe in meinem Blog eine Reihe von Beiträgen zu diesem Thema verfasst und diese dann zusammengestellt:

Eugene Yokota
quelle
4
Wenn Sie nach etwas suchen, das scalaz7 abdeckt und die gesamte Bibliothek abdeckt, dann ist dies eine großartige Ressource.
Sourcedelica
5
Das Problem bei diesem Tutorial ist, dass es auf der Vertrautheit des Lesers mit Haskell beruht. Ich hatte selbst keinen Haskell-Hintergrund und fand diese Blog-Artikel unglaublich schwer zu lesen.
Alex Abdugafarov
20

Es gibt auch einige Video-Ressourcen, die ich gesehen habe, wie ich Scalaz auf einer Einführungsstufe präsentiere.

Sie werden beide von Mitwirkenden an Scalaz gegeben und stellen die Inhalte und Konzepte vor, die durch die Entwicklung einer Reihe von Codebeispielen veranschaulicht werden. Das Publikum für beide Vorträge waren Scala-Enthusiastengruppen.

Don Mackenzie
quelle
3
Die Präsentation von Nick Partridge (Nr. 1 oben) war für mich der Moment der Glühbirne.
oxbow_lakes
Das erste Video ist wirklich toll. Ich finde es sehr inspirierend.
Tenshi
1
Was wirklich hilft, ist das Tempo, das Nick in seiner Lieferung festlegt, wodurch genügend Zeit für das Eintauchen der Informationen bleibt und so das für mich vertraute Gefühl des Ertrinkens im Detail verhindert wird. Die Ansichten am Ende des Videos sind meiner Meinung nach ebenfalls sehr relevant.
Don Mackenzie
13

Ich habe mich nicht selbst getestet, aber vielleicht kann dieser Scalaz-Leitfaden helfen, der ursprünglich im November 2010 geschrieben wurde (und / oder dazu beigetragen werden kann, da er seit Mitte 2012 nicht mehr gepflegt wird).

VonC
quelle
3
Die Verbindung scheint unterbrochen zu sein.
Bill
1
@ Bill True, ich habe einen Link zu einer alten Version dieses Projekts wiederhergestellt, die nicht mehr gepflegt wird.
VonC