Scala Summer Camp #3: Programming IO using the MTL style
Scala Summer Camp is back! It's a series of 3h-long functional programming workshops, held mostly during the summer months.
#3: Programming IO using the MTL style
The objective of the workshop is to get some theoretical and practical overview of the functional approach to IO-based programming. You will learn how to program real applications using Scala, Cats, Cats Effect, Cats MTL, Meow MTL, and others.
During the workshop, we will switch between quick introductions of the core features and longer step-by-step exercises. This will expose you to some features and tools needed to create and maintain production applications.
This event is open for all programmers that know the basics of FP in Scala (immutability, pure functions, higher-order functions, typeclasses).
- your own laptop,
- git, IntelliJ, JDK 8+, Scala 2.13 and sbt 1.3.2 installed.
1. IO & IOApp.
2. Tagless final & MTL style.
3. Handling resources using Bracket & Resource.
4. Handling errors (Try / Option / Validated / Either / FunctorRaise / ApplicativeHandle / ApplicativeError / MonadError)
5. Handling threading using ContextShift and Blocker.
About your instructor: Michał Płachta (https://michalplachta.com)
Polyglot programmer & functional programming enthusiast who loves the human component in software projects. He speaks at conferences, runs workshops & organizes meetups to help others get better at delivering maintainable software.
About Scala Summer Camp
Scala Summer Camp was initiated in 2017. Its main objective is to popularize techniques that lead to more maintainable software. It aims to attract coders at each level of experience.
This year we are planning to host several workshops on different topics. Here's a list of this year's topics:
- Using Functional State in Actors (23.07, 20 participants),
- Refactoring Imperative to Functional (08.08, 18 participants),
- Programming IO using the MTL style (01.10, this workshop),
- Purely Functional Concurrency (planned for October, location needed).
They will all be held during workweek afternoons. Please keep an eye out for invitations, because the number of places is limited.