My suggestion is, if you want to learn Scala, to read the book from Paul Chiusano and Runar Bjarnason:
http://manning.com/bjarnason/
Part II: Functional design and combinator libraries
- Making little languages
- JSON serialization
- Specification-based testing
- Parsers
- Purely functional parallelism
- Purely functional state
Part III: Functional design patterns
- The case for abstraction
- Monoids
- Functors
- Monads
- Applicative functors
- Traversable and foldable data structures
- Comonads
Part IV: Breaking the rules: effects and I/O
- Effects vs. side-effects
- Stream processing and incremental I/O
- Enforcing effect-scoping with the type system