In this talk, we take a look at some specific Functional Programming patterns that regularly arise in everyday programming. These patterns are used to solve the same problems that DI attempts to by decoupling data types from their dependencies.
We explore the algebraic properties of these techniques and discover how they give rise to useful programming properties that we may apply in our typical work. This talk focuses on the techniques rather than any particular programming language, since none of these techniques are monopolized by a specific language. Various programming languages will be used for demonstration to emphasize this point; Haskell, Scala, Java and C# for example.
The audience should expect to walk away from this talk with a slight amount of bewilderment, a clear understanding of some FP subjects, but importantly, with the invigorated inspiration to explore these techniques further.