Home
Pages 18
Clone this wiki locally
FP in Scala community guide and chapter notes
This guide is a community-built and maintained resource for readers of the book and a place to collect curated questions about each chapter's content, exercises, and answers, as well as any other notes or links to relevant stuff. Also totally appropriate are links to gists or code with alternate (or corrected!) answers for the exercises. We're hoping this can turn into a nice centralized resource where we can consolidate answers to frequently asked questions scattered across various forums, like the Manning forum and scala-functional.
This is a wiki, so no need to ask for permission to edit, create, or rearrange content. But check out the template used by some of the existing chapter pages before contributing, and try to follow that in any pages or content you create.
A bound booklet of this content (snapshot as of March 6th, 2015) is available as a print-on-demand paperback. Freely distributable pay-what-you-want PDF, ePub, and Kindle versions are available as well.
About the chapter notes:
Chapter notes provide historical context, links to further reading, and additional discussion or connections to help tie the material we've covered in this book to the larger practice and research of the FP community. If you're interested, we encourage you to do some Wikipedia surfing and further exploration using some of the content covered here as a branching-off point.
Many of the chapter notes link to resources that use the Haskell language. We recommend reading the brief introduction to Haskell, which gives an overview of Haskell for Scala programmers.
Chapters:
- Chapter 1: What is functional programming?
- Chapter 2: Getting started
- Chapter 3: Functional data structures
- Chapter 4: Handling errors without exceptions
- Chapter 5: Strictness and laziness
- Chapter 6: Purely functional state
- Chapter 7: Purely functional parallelism
- Chapter 8: Property-based testing
- Chapter 9: Parser combinators
- Chapter 10: Monoids
- Chapter 11: Monads
- Chapter 12: Applicative and traversable functors
- Chapter 13: External effects and I/O
- Chapter 14: Local effects and mutable state
- Chapter 15: Stream processing and incremental I/O
Getting answers to your questions
If you have any questions about the book, or about functional programming in Scala (or in general), here are some suggestions:
- Ask on the scala-functional mailing list
- Talk to Paul and Rúnar directly on Twitter.
- For questions regarding functional programming with the Scalaz library, ask on the Scalaz mailing list.
- Post your question here on the Wiki.
All content on this wiki, including code and documentation, is licensed using the MIT license. Contributors to this wiki agree to license their contributions using the MIT license.