Brian Beckman: Don't fear the Monad

Cross posted from msdn's channel 9. Functional programming is increasing in popularity these days given the inherent problems with shared mutable state that is rife in the imperative world. As we march on to a world of multi and many-core chipsets, software engineering must evolve to better equip software engineers with the tools to exploit the vast power of multiple core processors as it won't come for free as it did in the recent past which was predictably based on Moore's law. Of course, learning new ways to think about programming semantics and code patterns are not always straight forward. For example, most imperative programmers (which include most of us who build software for a living...) are somewhat perplexed by the notion of functions as first class data structures that can be combined to create powerful and composable systems. Languages like Haskell are pure functional languages and require programmers to think in a different way, often in a precise mathematical fashion where composing and chaining functions is "the Way". Dr. Brian Beckman, a Channel 9 celebrity, astrophysicist and senior software engineer thought it would be a very good idea to address the complexity of monads in an easy to understand way: a technical conversation at the whiteboard with yours truly for Channel 9. This video interview is the result of Brian's idea that he can in fact remove the fear of monads from anybody who pays attention to his explanation. Of course, you can't just cover monads in a vacuum (category theory is not really addressed here) so the context is functional programming (Brian covers functions and composable functional structures (function chains) and of course monoids and then monads). Tune in. There's a lot to learn here and only Brian can make monads easy to understand for the rest of us!

Related Talks

"Writing a game in Haskell" by Elise Huard

Haskell is a beautiful functional language, written by smart computer scientists, and having clever and elegant functional constructs. It clearly separates pure and impure parts of the program. Game programming on the other hand is a very hands-on discipline, trying to wring out the most of the machine's performance, and aiming ...

Rishiyur S. Nikhil - Enigmatic Haskell, Haskellish Enigma

an hour
Boston Haskell, February 18, 2015 Nikhil builds an Enigma machine. First in Cryptol, then in hardware by way of Haskell. Slides and code available here: https://github.com/rsnikhil/Enigma_Cryptol_Bluespec_BSV.git ...

C++17: I See a Monad in Your Future

Abstract The introduction of lambdas and first class function objects forever changed the nature of C++, opening up the floodgates to functional programming. Sometimes the best library design is based on a pattern that's very familiar to a Haskell programmer but alien to a C++ programmer. The new std::future proposal ...

Atmosphere 2013: "Your CSS is a Mess" Jonathan Snook (Shopify)

We would like to thank everyone for attending the first edition of Atmosphere Conference, which was held on the 13th-14th May 2013 in Concordia Design in Poznan. Considering the fact that the event was organised for the first time, we must admit that there was a great number of attendees ...

Functional programming - Bodil Stokke

Build Your Own Lisp for Great Justice Implementing a toy Lisp interpreter is practically a rite of passage for the budding computer scientist. This hallowed tradition is described in detail in "Lisp in Small Pieces," the seminal work on the making of Lisps, but everybody loves a tl;dr, so let's do ...

Kenneth Foner - Getting a Quick Fix on Comonads

an hour
Kenneth Foner's Comonad talk at the Boston Haskell meetup, September 17, 2014. Code and slides: https://github.com/kwf/ComonadSheet ...

Dan Doel - Introduction to Low Level Haskell Optimization

an hour
Dan Doel's talk at the Boston Haskell Meetup, Sept 17, 2014 Slides: https://drive.google.com/file/d/0B8Kkr1O1jFwcRmhxbzBMR1Ntb3c/edit?usp=sharing ...

John Papa - 10 AngularJS Patterns - Code on the Beach 2014

Learn from John Papa's talk "10 AngularJS Patterns" from Code on the Beach 2014 at One Ocean Resort & Spa, Atlantic Beach, Florida. Sunday, August 10, 2014. www.codeonthebeach.com Abstract: "Once you get beyond the AngularJS basics there are many decisions to be made on how to build robust and maintainable apps. Come ...

The Clang AST - a Tutorial

If you always wanted to know more about about Clang's AST [1], for example because you want to implement an awesome tool [2, 3] based on Clang, or simply because you want to start contributing, this talk is for you. Make sure to watch in HD to be able to read ...