Skip to content
0:00 / 0:00

#monads#monoids#functors

The Functional Programmer's Toolkit - Scott Wlaschin

NDC Conferences

230K subscribers • 107 videos on Hallway • Conference channel

YouTube
  • Recommended by 4 people: 4 on Hacker News.
  • Presented by Scott Wlaschin

Beginner. No background in the topic needed.

79K views7 years ago4 recommendations

Programming languagesSoftware designFunctional programmingDesign patterns

Scott Wlaschin demystifies functional programming concepts like monads, monoids, and functors, showing how they form a practical toolkit.

The functional programming community has a number of patterns with strange names such as monads, monoids, functors, and catamorphisms. In this beginner-friendly talk, we'll demystify these techniques and see how they all fit together into a small but versatile "tool kit". We'll then see how the tools in this tool kit can be applied to a wide variety of programming problems, such as handling missing data, working with lists, and implementing the functional equivalent of dependency injection. NDC Conferences ndcconferences.com/ ndc-london.com/

Why it's here

4 people recommend this

What people say. Highly recommended as one of the best and clearest beginner-friendly introductions to functional programming concepts.

__henilon Hacker News • Recommends

On “F# for fun and profit: Terms and Conditions”

On the same note, I recently shared a link0 to his great beginner talk on functional programming languages. This was by far the best introduction to monoid, monads and few other functional programming terms. Direct youtube1 for those who don't want to click twice :) 0: link 1: link to this video

lioeterson Hacker News • Recommends

On “Functional programming design patterns (2015) [video]”

Same speaker, newer presentations: Functional Design Patterns - Scott Wlaschin (2017) from NDC Conferences link The Functional Programmer's Toolkit - Scott Wlaschin (2019) link to this video

bern4444on Hacker News • Recommends

On “Write your own arbitrary-precision JavaScript math library”

…nal nature of React components and hooks. The last note I'll add is, once you get into Functional Programming, you start wanting to use `compose` or its counter part, `pipe` everywhere and coding becomes a lot more fun. I'll put a final plug for one of my own posts on how composition manifests in Javascript/React code6. 1 link 2 link 3 link to this video 4 link 5 link 6 link…

loopzon Hacker News • Recommends

On “Haskell for Beginners”

Learn Haskell in 1-2-3: 1) WHY: The Functional Programmer's Toolkit - Scott Wlaschin : link to this video 2) WHAT: Learn Haskell in one video : link 3) HOW: Haskell without the theory : link It'll teach you enough to be dangerous. Obviously your learning has just begun, but with a mental platform that lets you study other resources in time and practically test things out.

u/TheSilverNimbusin r/functionalprogramming • Mentions

On “Which Functional Language with strong typing to learn?”

…e before getting into this site. In the talks and on this site, he talks about the functional programming topics with a very humorous and easy-to-understand language. You should really check these out! Here are a few talks of his I highly recommend (with little to no knowledge of functional programming or F# required): * *F# for C# Programmers* | link to this video * *The Functional Programmer's Toolkit* | link to this video * *The Power of Composition* | link to this video * *The Lazy Programmer's Guide to Writing Thousands of Tests* | link to this video * *Domain Modeling Made Functional* | link to this video * *Functional Design Patterns* | link to this video You can also check out this talk that I found interesting, which includes some F#, functional…

u/rsobolin r/functionalprogramming • Mentions

On “A functor is a container that implements map. Is there a special name for containers that implement filter or reduce?”

Not sure, but I do know the properties of a monoid make it reducible. Have you seen the talk called The Functional Programmer’s Toolkit by Scott Wlaskin? I think you may enjoy it. Edit: just a heads of, many people call these things “types” or “categories”, depending on context, rather than “containers”.

u/britishmuttin r/functionalprogramming • Mentions

On “What is MONAD?”

Scott Wlaschin has some of the best videos for explaining functional programming paradigms in down-to-earth terms. I recommend The Functional Programmer's Toolkit. It starts with the basic elements of functional programming, and then builds up to concepts including functors, applicatives, monoids and monads. As he says, these are just jargon names given to pretty simple patterns. You could also try reading through this series of "rubber ducking" articles about the same topics. The examples are in Elm, which is one of the more approachable statically typed pure functional languages. https://medium.com/wat-the-elm-ist/monads-what-are-they-good-for-602960df817b