17: Applicative Functors
Building on the power of functors we examine a few scenarios where a normal Functor is problematic. Fortunately, there is a closely related structure known as an Applicative Functor that can provide the capabilities to solve a broader range of problems. Episode 17 patrons: Chad Wooley David Keathley Andre Carvalho Show Notes: Coconut programming language: http://coconut-lang.org/ Hack nights instead of presentations:...
Going deeper down the category theory rabbit hole, we explore one of the most common and useful abstractions in the functional programming world. You're likely already familiar with Functors but just didn't know it yet. Episode 16 patrons: Chris Krycho Tyler Harper George Webster Show Notes: Functor map :: (a -> b) -> f a -> f b Bifunctor bimap :: (a -> b) -> (c -> d) -> f a c -> f b d Profunctor dimap :: (a -> b) -> (c -> d) -> f b c -> f a d Phil Freeman's talk on Profunctors:...
14: Dynamic and Static Languages
The kind of type system a functional language uses has a large impact on the way you use that language. In this episode we discuss the tradeoffs involved in using a static or dynamic language. Show Notes: Philip Wadler Talk: https://www.infoq.com/presentations/category-theory-propositions-principle Denotational Design Scott Wlaschin Poker Implementation https://exit.sc/?url=https%3A%2F%2Ffsharpforfunandprofit.com%2Fddd%2F Conal Elliot presentation on Denotational Design...
Algebraic Data Types (ADTs) are one of the most distinguishing features of statically typed functional languages. Come learn why they exist, how you can use them, and how they change your design. Join the FP community at http://fpchat.com Support us on Patreon at http://www.patreon.com/lambdacast Follow us on Twitter: http://twitter.com/lambdacast Show Notes: Denotational Design with the example of a Poker game https://fsharpforfunandprofit.com/ddd/
Into the icy maw of category theory starting with Monoids! In reality we find out it's not actually all that scary and there are some really fantastic things that we gain by understanding these basic categorical concepts. We now have a twitter account! Follow us at https://twitter.com/lambdacast We also now have a patron account if you're looking to support the show: https://www.patreon.com/lambdacast Show Notes: Haskell Diagrams library...
9: Polymorphism And Abstraction
Abstraction takes on a different meaning amongst functional programmers. This episode we dig into how parametric polymorphism is an essential tool in developing well behaved abstractions that transcend simply being a solution to your individual problem. John Degoes polymorphism post http://degoes.net/articles/insufficiently-polymorphic When x, y, and z are great variable names http://blog.ploeh.dk/2015/08/17/when-x-y-and-z-are-great-variable-names/
Recursion, that infinite spiral of self referentiality. In this episode we break down the ideas behind recursion, and more importantly when and where you might want to use recursion.