216

Recently scalaz caught my eye. It looks very interesting, but I have not found any good introduction to the library. Seems that scalaz incorporates a lot of ideas from haskell and mathematics. Most articles that I found assume that you already feel comfortable with these concepts.

What I'm looking for is gradual introduction to the library and underlying concepts - from simple and basic concepts to more advanced (which basesd in basics).

I also looked to the examples, but it's hard for me to find the point where I should start to learn library.

Can somebody recommend me some good scalaz introduction or tutorial (that covers basics and advanced concepts)? Or give me starting point in the answer.


Update

Thanks everybody for the great answers! I summarized all of the answers and added some more links in my blog:

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

And for those stuggling to find the API documentation for Scalaz they are here:

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

0

8 Answers 8

78

Hieko Seeberger has recently started blogging on functional programming and category theory applied to Scala. Two opening posts are very educative (and easy to read), and can help getting over the initial barrier in learning scalaz.

EDIT: When you get comfortable with the fundamentals, I would recommend you to read through http://apocalisp.wordpress.com/ (blog driven by Runar Oli and Mark Harrah) and the weblog of Tony Morris

UPD: "Functors, Applicative Functors and Monoids" chapter of "Learn You a Haskell for Great Good!" has a lot of examples in Haskell with detailed explanations, which can easily be translated to Scala/scalaz.

2
  • 10
    Perfect, now in addition to my extreme-curiosity-syndrome I have my-brain-is-melting-syndrome :) Anyways, thanks! Interesting articles. Looks like something I was searching for (anyway I encourage everybody to post their ideas - every input is valuable)
    – tenshi
    Feb 1, 2011 at 21:14
  • You may find this introduction video useful: Scalaz "For the Rest of Us" by Adam Rosien youtube.com/watch?v=kcfIH3GYXMI
    – Oleksiy
    Nov 25, 2014 at 10:26
40

I wrote a series of posts on my blog on this topic, and then compiled it together:

2
  • 4
    If you're looking for something that covers scalaz7 and that goes over the whole lib then this is a great resource. Sep 17, 2012 at 12:00
  • 5
    The problem with this tutorial is that it relies on reader's familiarity with Haskell. Having no Haskell background myself, I found these blog articles to be outrageously hard to read. Mar 2, 2017 at 13:32
20

There are also some video resources I have seen presenting scalaz at an introductory level,

They are both given by contributors to scalaz and introduce the contents and concepts illustrated by evolving a series of code examples. The audiences for both these talks were Scala enthusiast groups.

3
  • 3
    Nick Partridge's presentation (#1, above) was the lightbulb moment for me. Feb 1, 2011 at 21:24
  • The first video is really great. I find it very inspiring.
    – tenshi
    Feb 1, 2011 at 23:40
  • 1
    What really helps is the pace Nick sets in his delivery which allows enough time for the information to sink in and thus preventing that familiar (for me) feeling of drowning in detail. The views expressed at the end of the video, I feel, are very pertinent too. Feb 2, 2011 at 12:57
16

I have found this notes interesting:

http://debasishg.blogspot.com/search/label/scalaz

13

Not tested myself, but maybe this Scalaz Guide can help, initially written in November 2010 (and/or can be contributed to, since it is no longer maintained since mid-2012).

2
  • 3
    The link seems to be broken.
    – Bill
    Jan 12, 2013 at 2:27
  • 1
    @Bill True, I have restored a link to an old version of that project, which is no longer maintained.
    – VonC
    Dec 27, 2013 at 21:37
8

A couple more resources.

1
6

Videos:

(Copied from my answer of a closed duplicate).

4

Chris Marshall recently did a talk at LSUG/Skills Matter on Practical Scalaz: Making Your Life Easier the hard way.

Not the answer you're looking for? Browse other questions tagged or ask your own question.