(A team's journey over Scala's FP emerging patterns)
https://github.com/47deg/run-wild-run-free
Working at a Scala consultancy, I have been privileged to observe diverse developer experiences when learning and putting Scala to practice in real world projects.
Many people trip on different areas, but some are more prominent and seem to cause the most headaches for people adopting Scala. We can fix that.
In this talk, I will present some of these patterns, anti-patterns, and pitfalls we have observed in the wild.
We will discuss some of the architectural and technical decisions we have made to cope with these issues, as well as the importance of Principled Typed Functional Programming for newcomers and our industry as a whole.
The purpose of this talk is to make you empathize with the pains that newcomers to the language face, and what we as a community can do to change this.
We'll go over some code examples that can be problematic and why folks trip on those frequently. We will also cover some of the Functional Programming patterns that may be utilized to achieve more flexible architectures and abstractions for real world applications.
Expect to see code around scala.concurrent.Future pitfalls, exception handling, cats transformer stacks, other cats datatypes, and Free monads.
You may be interested in this talk if:
You want wider spread adoption of FP Scala.
You are a Scala newcomer running into issues with Scala.
You are an FP Scala developer looking for code examples and inspiration around FP solutions to common application architecture problems.