An Intuitive Guide to Combining Free Monad and Free Applicative
The usage of Free Monads is becoming more well understood, however the lesser known Free Applicative is still somewhat of a mystery to the average functional programmer. In this talk I will explain how you can combine the power of both these constructs in an intuitive and visual manner. You will learn the motivations for using Free Structures in the first place, how we can build up a complex domain, how we can introduce parallelism into our domain and a bunch of other practical tips for designing programs with these structures. This will also give you a deeper understanding of what libraries like Freestyle are doing under the hood and why it is so powerful.
Outline/Structure of the Talk
This talk will start by introducing the motivations for using the Free Monad/Free Applicative with a simple domain.
We will then take two simple domains and delve into the theory of how to conceptualise combining sequential and parallel operations within this domain.
We will explore some simple visualisations to gain a better intuition for what our programs look like and finally construct multiple programs with different parallelism semantics using the same domain code.
Learning Outcome
You will learn the motivations for using Free Structures in the first place, how we can build up a complex domain, how we can introduce parallelism into our domain and a bunch of other practical tips for designing programs with these structures. This will also give you a deeper understanding of what libraries like Freestyle are doing under the hood and why it is so powerful.
Target Audience
Anyone who either uses or is interested in using functional programming in practice
Video
Links
https://functionaltechramblings.wordpress.com/