Essential Effects: early access release and more!
Greetings everyone -
Tomorrow will be a big day: I'll be releasing the early-access edition of "Essential Effects"! (I've included the current table of contents to give you an idea of what the book covers.) Early-access will cost $35, with free updates when the final version is published. Check out the main site tomorrow for the link.
I'm also giving a talk tomorrow about effects for the SF Scala user group, anyone can attend!
Finally, there are still tickets available for the upcoming 3-day "Essential Effects" course, January 27-29th. You can learn more at the course site.
.. Adam
Table of Contents
- Preface
- Acknowledgements
- About this book
- Cats Effect versions
- Source code for examples and exercises
- Prerequisites
- Chapter 1. Effects: evaluation and execution
- The substitution model of evaluation
- Dealing with side-effects
- The Effect Pattern
- Capturing arbitrary side-effects as an effect
- Composing effects
- Summary
- Chapter 2. Cats Effect IO
- Constructing IO values
- Transforming IO values
- Executing IO values
- IO as an effect
- Executing effects in applications with IOApp
- Summary
- Chapter 3. Parallel execution
- Does IO support parallelism?
- The Parallel typeclass
- Inspecting parallelism
- parMapN
- parTraverse
- parSequence
- Summary
- Chapter 4. Concurrent control
- Decomposing the behavior of parMapN
- Gaining control with Fiber
- Canceling a running Fiber
- Racing multiple effects
- Summary
- Chapter 5. Shifting contexts
- How much parallelism can we get?
- The need for multiple contexts
- Contexts for I/O-bound actions
- How do you know something is blocking?
- Finer-grained control of contexts
- Example: contexts for database access in Doobie
- Summary
- Chapter 6. Integrating asynchrony
- Asynchronous callbacks
- Integrating with Future
- Summary
- Chapter 7. Managing resources
- Creating a Resource to manage state
- Composing managed state
- Resources for dependency management
- Summary
- Chapter 8. Testing Effects
- Assertions on effectful values
- Testing effect scheduling by controlling its dependencies
- Summary
- Chapter 9. Concurrent coordination
- Atomic updates with Ref
- Write-once synchronization with Deferred
- Concurrent state machines
- Summary
- Chapter 10. Case study: job scheduler
- Chapter 11. Conclusion
- Glossary
- Appendix A: Cheatsheets
- Appendix B: Abstracting effects with typeclasses
- Appendix C: Changes in Cats Effect 3
- Appendix D: Solutions to selected exercises
- References
Don't miss what's next. Subscribe to Essential Effects: