Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Monads and Gonads

    Google TechTalks

    2 HN recommenders · recommended in 10 months, 2013–2022

    YouTube

    49:47 · 148K views · Jan 16, 2013

    Douglas Crockford's Google Tech Talk explains monads without category theory or Haskell, implementing them in JavaScript and tying them to Ajax and promises. He also touches on odd asides such as coloring code by scope.

    Often recommended as a demystifying monad talk in plain JavaScript, though some find it light on definitions.

    Software Engineering & LanguagesFunctional programmingWeb development
    1. 54:27
      Douglas Crockford: Monads and Gonads (YUIConf Evening Keynote)YUI Library67K views • 13 years ago
    2. 11:25
      Monad - FunFunFunction #21Fun Fun Function128K views • 10 years ago
    3. 36:31
      Hey Underscore, You're Doing It Wrong!InfoQ141K views • 13 years ago
    4. 1:02:15
      Lambda Calculus - Fundamentals of Lambda Calculus & Functional Programming in JavaScriptFullstack Academy228K views • 9 years ago
    5. 1:03:48
      JavaScript: The Good PartsGoogle TechTalks589K views • 17 years ago
    6. 1:07:10
      Brian Beckman: Don't fear the Monadjasonofthel33t415K views • 13 years ago
    7. 1:42:09
      Crockford on JavaScript - Volume 1: The Early YearsYUI Library252K views • 15 years ago
    8. 1:05:51
      The Functional Programmer's Toolkit - Scott WlaschinNDC Conferences79K views • 7 years ago
    9. 53:22
      Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim WeirichConfreaks66K views • 13 years ago
    10. 33:52
      Nordic.js 2014 • Douglas Crockford - The Better PartsNordic.js73K views • 12 years ago
    11. 41:09
      ClojureScript for Skeptics - Derek SlagerClojureTV72K views • 10 years ago
    12. 59:31
      ClojureScript in the Age of TypeScript — David NolenChariotSolutions29K views • 5 years ago
    13. 31:11
      React.js Conf 2015 - Immutable Data and ReactMeta Developers159K views • 11 years ago
    14. 1:07:22
      Invited Talk - Guy SteeleClojureTV39K views • 9 years ago
    15. 1:50:07
      JSON Parser 100% From Scratch in Haskell (only 111 lines)Tsoding205K views • 6 years ago
    16. 1:04:16
      Simon Peyton-Jones: Escape from the ivory tower: the Haskell journeyChurchill College, University of Cambridge170K views • 9 years ago
    17. 1:06:46
      Crockford on JavaScript - Section 8: Programming Style & Your BrainYUI Library111K views • 14 years ago
    18. 44:43
      Ron Pressler - Pull Push: Please stop polluting our imperative languages with pure concepts-Curry OnCurry On!25K views • 11 years ago
    19. 36:45
      Jordan Walke - React to the FutureReasonConf48K views • 6 years ago
    20. 46:18
      Om Next - David NolenClojureTV44K views • 11 years ago

    11 comments from Hacker News

    1. @scotty79Oct 2019· in “Learning Haskell is no harder than learning any other programming language”

      The one thing that made monads clearer for me was this thing this video Monads and Gonads It's probably condescending for haskellers because it shows that monads are not some enshrined primary concept but just a kind of dumb wrapper you can write in any language and you do when it's useful for you.

      Strongly recommendsView on HN
    2. @nnqSep 2016· in “In defence of Douglas Crockford”

      also, this indirectly reminded me of what I thought to be one of DC's greatest talks: Monads and Gonads ( this video )

      Strongly recommendsView on HN
    3. @sargstuffOct 2022· in “Ask HN: S/W development text editor have feature colorizing every iteration?”

      combobulate (alpha quality as of 10/22): source code outline/cliff notes. from github README.rst "Emacs package that provides a standardized framework for manipulating and navigating your source code using tree sitter's concrete syntax tree " -> [LINK] [LINK] with [LINK] then write a iterator/loop query for language(s) editing per [LINK] tad less installation heavy (sorta) but also makes use of tree-sitter syntax queries : [LINK] (neovim with treesitter syntax) blockman usage examples: [LINK] Alternative examples / takes (per user interface): ### embedding a block of source code in a document: ** carrotsearch.gethub.io/apidocs/code-blocks ** [LINK] ### 'colorize blocking' (vs space endenting) : ** example code reference coloring: this video ### gui block programming : ** [LINK] ** [LINK]

      CitesView on HN
    4. @nnqAug 2015· in “The Beauty of Clojure”

      ...that's how chaining method calls end up working in most OO languages (take the Scala example in OP's article). And also in Javascript (I can't remember if there is something like `range` in js right now...): [1,2,3,4,5,6,7,8,9,10] .map(function (x) { return x + 2 }) .reduce(function (a, b) { return a + b }) so the "." in OOP ends up working like "->" or "->>". Heck, you can make the dot in OOP code behave like anything, even like monadic bind (`>>=` or `do` notation in Haskell), if you do OOP-style-monads in JS: this video (off-topic: this is also my main problem with OOP... the "." can actually end up meaning anything practically, as program logic is concerned, it's like some kind of "infinite operator overloading" :) )

      CitesView on HN
    5. @fizixerJan 2016· in “The Monad Challenges: Jump start your understanding of monads”

      > Do I need to know Haskell? Yes. This is enough for me to reject this blogpost. No you don't need a specific language to implement any functionality that can be implemented by a turing-complete language. I watched Crockford's monad talk [1]. He used javascript. The only problem with that talk is that he spent about 10 seconds or less explaining what a monad is (and the rest of the talk on implementation issues and his own perspective, etc, etc). I'm still waiting for a good monad discussion without CT or Haskell. (this [2] and this [3] look promising, both in python) [1] this video [2] [LINK] [3] [LINK]

      CitesView on HN