location_city Sydney schedule May 23rd 11:40 AM - 12:10 PM AEDT place Green Room people 154 Interested

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

Slides


Video


schedule Submitted 5 years ago
help