A whirlwind tour of the FP library ecosystem? Yes Please!
Whirlwind tour of the Scala Functional Programming ecosystem
Let's go on a whirlwind tour of the FP library ecosystem as we implement a text messaging service that mirrors one currently in production at iOFFICE.
We will start with the design of the application and abstract over the outside world to create our business logic in a purely functional, easily testable way. We will then utilize the rich library ecosystem to implement the means by which our application will interact with the world whilst retaining its pure nature. Finally, we will wire everything together and have an example of a Strongly Typed Pure Functional Application that is ready to deploy! Required Knowledge Foundational level of Scala syntax is all that is expected from the attendees Learning Objectives Provide the motivation for designing an application that abstracts over specific effect types Demonstrate how far the Scala FP ecosystem has come by using the latest and greatest libraries to interact with the outside world. Show how the power of abstraction has enabled the authors of these libraries to build on a core set of fundamental concepts that allow these libraries to be perfectly composable while having zero dependencies on each other.
Some of the libraries we will encounter are: Scalaz, which defines a set of foundational type classes and provides purely functional data structures to complement those from the Scala standard library ZIO, which is a general purpose effect monad, and associated abstractions that provide type-safe, composable concurrency for Scala Http4s, a minimal idiomatic Scala interface for Http Services Doobie, a pure functional JDBC layer for Scala FS2, a compositional, streaming I/O library for Scala