monads
54:27Douglas Crockford: Monads and Gonads (YUIConf Evening Keynote)
67K views • 13 years ago
YUI Library
Douglas Crockford's YUIConf 2012 evening keynote tries to explain monads in a way programmers can actually understand, in the context of JavaScript. He aims to break the 'monad tutorial curse'.
49:47Monads and Gonads
148K views • 13 years ago
Google TechTalks
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.
1:07:10Brian Beckman: Don't fear the Monad
415K views • 13 years ago
jasonofthel33t
Microsoft's Brian Beckman gives an hour-long, whiteboard-style walk through monads, building from function composition and monoids using school-level math. It is aimed at practicing programmers rather than category theorists.
Topic match · Functional programming
11:25Monad - FunFunFunction #21
128K views • 10 years ago
Fun Fun Function
An episode of FunFunFunction explaining monads in JavaScript as functors that also implement flatMap. It builds on the preceding functor episode and works through code examples.
Topic match · Functional programming
1:05:51The Functional Programmer's Toolkit - Scott Wlaschin
79K views • 7 years ago
NDC Conferences
Scott Wlaschin demystifies functional programming terms like monads, monoids, functors and catamorphisms by showing how they fit into a small toolkit. He applies them to problems such as missing data, list handling, and functional dependency injection.
Topic match · Functional programming
44:43Ron Pressler - Pull Push: Please stop polluting our imperative languages with pure concepts-Curry On
25K views • 11 years ago
Curry On!
Ron Pressler's Curry On 2015 talk arguing that imperative languages should not be polluted with pure functional concepts like monads. He favors simple blocking code over non-blocking styles.
Topic match · Functional programming
1:04:16Simon Peyton-Jones: Escape from the ivory tower: the Haskell journey
170K views • 9 years ago
Churchill College, University of Cambridge
Simon Peyton Jones gives Churchill College's annual computer science lecture on Haskell's birth and evolution. He covers the most influential ideas, from laziness to monads and type system evolution, plus current developments and guesses about the future.
Topic match · Functional programming
1:50:07JSON Parser 100% From Scratch in Haskell (only 111 lines)
205K views • 6 years ago
Tsoding
Tsoding live-codes a JSON parser from scratch in Haskell in about 111 lines, using only the standard library. It is an edited Twitch stream that explains the intuition behind parser combinators, functors, applicatives and monads.
Topic match · Functional programming
4:00Hitler reacts to functional programming
275K views • 7 years ago
Rymdkraftverk
A Downfall-style parody in which Hitler rages about functional programming concepts such as monads and Haskell. It runs about four minutes.
Topic match · Functional programming
1:49:11WE MUST ADD STRUCTURE TO DEEP LEARNING BECAUSE...
101K views • 2 years ago
Machine Learning Street Talk
Machine Learning Street Talk interviews Paul Lessard about Categorical Deep Learning, which uses category theory and monads to make neural network architectures more interpretable and composable. They also discuss neural networks' limits in reasoning and unbounded computation.
Topic match · Functional programming
46:46Category Theory 1.1: Motivation and Philosophy
394K views • 10 years ago
Bartosz Milewski
The first lecture in Bartosz Milewski's category theory series for programmers. It covers the motivation and philosophy behind category theory and why composition matters for handling complexity.
Topic match · Functional programming
58:23Evan Czaplicki - Let's be mainstream! User focused design in Elm - Curry On
82K views • 11 years ago
Curry On!
Evan Czaplicki, creator of Elm, talks at Curry On 2015 about user-focused language design. He explains the principles behind Elm and how to make a functional, typed language as approachable as JavaScript.
Topic match · Functional programming
53:22Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich
65K views • 13 years ago
Confreaks
Jim Weirich's RubyConf 2012 talk derives the Y combinator step by step, live-coding in Ruby lambdas. It builds up an understanding of functional programming and lambda calculus from first principles.
Topic match · Functional programming
42:03The Soul of Erlang and Elixir • Sasa Juric • GOTO 2019
384K views • 7 years ago
GOTO Conferences
Sasa Juric explains what makes Erlang and Elixir suited to server-side systems, focusing on the BEAM concurrency model rather than syntax or ecosystem. He demonstrates processes, supervision, and fault tolerance.
Topic match · Functional programming
1:01:39"Simple Made Easy" - Rich Hickey (2011)
219K views • 5 years ago
Strange Loop Conference
Rich Hickey's Strange Loop 2011 keynote distinguishing 'simple' (not intertwined) from 'easy' (familiar or near at hand). It argues that software complexity comes from complecting things and that we should pick simple constructs.
Topic match · Functional programming
25:06"Making Impossible States Impossible" by Richard Feldman
63K views • 10 years ago
elm-conf
Richard Feldman's elm-conf talk on designing models so that bugs from impossible application states cannot occur, using Elm's compiler and types. It demonstrates techniques for making invalid states unrepresentable.
Topic match · Functional programming
1:31:06William Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]
367K views • 9 years ago
PapersWeLove
William Byrd presents at Papers We Love NYC on what he calls the most beautiful program ever written, a Lisp interpreter written in Lisp. He walks through the metacircular interpreter and related ideas, and demos relational programming and program synthesis near the end.
Topic match · Functional programming
46:09Why Isn't Functional Programming the Norm? – Richard Feldman
1.6M views • 7 years ago
Metosin
Richard Feldman argues that functional programming is not the norm largely because of historical accidents, such as C++ popularity, platform exclusivity, marketing spend and network effects, rather than merit. He traces the history of how languages become mainstream.
Topic match · Functional programming
31:44The Value of Values with Rich Hickey
145K views • 14 years ago
InfoQ
Rich Hickey's JaxConf 2012 keynote examines what values are and why immutable values matter as information systems grow more complex and data gets bigger. It contrasts places with values and builds the case for immutability.
Topic match · Functional programming
1:03:29Maybe Not - Rich Hickey
181K views • 7 years ago
ClojureTV
Rich Hickey's Clojure/Conj 2018 keynote argues that Maybe/Option types and rigid type signatures are a poor way to model data that changes over time. He builds the case around optionality, schema growth and compatibility, and presents the ideas behind Clojure spec as an alternative.
Topic match · Functional programming
1:02:26Solving Problems the Clojure Way - Rafal Dittwald
87K views • 7 years ago
Clojure/north
Rafal Dittwald's Clojure/north talk shows how to move from writing Java-style code in Clojure to thinking in data-driven, functional terms. He walks through a JavaScript example, refactoring imperative code step by step into a functional core.
Topic match · Functional programming
1:12:56Lecture 1A: Overview and Introduction to Lisp
420K views • 7 years ago
MIT OpenCourseWare
The first lecture of MIT's 6.001 (SICP) with Abelson and Sussman, giving an overview of the course and an introduction to Lisp. It argues that computer science is about managing complexity and abstraction, not computers.
Topic match · Functional programming
7:48Conway's Game Of Life in APL
236K views • 17 years ago
Dyalog
A short Dyalog demonstration building Conway's Game of Life in a single line of APL, step by step. It shows how array operations replace loops.
Topic match · Functional programming
1:12:56Lecture 1A | MIT 6.001 Structure and Interpretation, 1986
995K views • 17 years ago
MIT OpenCourseWare
The first lecture of MIT's 1986 6.001 Structure and Interpretation of Computer Programs, given by Harold Abelson, introducing Lisp and the idea of computer science as the study of process.
Topic match · Functional programming
39:49Hammock Driven Development - Rich Hickey
333K views • 13 years ago
ClojureTV
Rich Hickey's philosophical talk from the first Clojure Conj in 2010. He argues that good design comes from deliberate, away-from-keyboard thinking, and describes how to feed the background mind so it solves problems.
Topic match · Functional programming
1:14:52Effective Programs - 10 Years of Clojure - Rich Hickey
176K views • 9 years ago
ClojureTV
Rich Hickey's talk at Clojure's tenth anniversary on the kind of programs Clojure is designed for. He argues for situated programs that deal with changing requirements, and for dynamic typing and data over static types.
Topic match · Functional programming
49:15Erlang Factory 2014 - That's 'Billion' with a 'B': Scaling to the Next Level at WhatsApp
50K views • 12 years ago
Erlang Solutions
Rick Reed of WhatsApp explains at Erlang Factory 2014 how the service scaled to billions of messages with a very small engineering team. He covers the FreeBSD and Erlang stack, Mnesia usage, server counts and bottleneck work.
Topic match · Functional programming
58:39Tim Ewald - Clojure: Programming with Hand Tools
48K views • 12 years ago
ClojureTV
Tim Ewald's Clojure/conj talk uses furniture making with hand tools versus machine tools as an allegory for software. It explores how automation changes what we make and how we think about our work, and why Clojure's small set of simple tools matters.
Topic match · Functional programming
45:55Ruby Conf 12 - Boundaries by Gary Bernhardt
58K views • 13 years ago
Confreaks
Gary Bernhardt's RubyConf 2012 talk on testing in isolation without mocking everything. It goes through behavior versus data, mutation versus immutability, and how a functional core with an imperative shell yields natural isolation and parallelism.
Topic match · Functional programming
1:16:14Spec-ulation Keynote - Rich Hickey
135K views • 9 years ago
ClojureTV
Rich Hickey's keynote on software versioning, arguing that breaking changes are the real problem and that libraries should only grow by providing more and requiring less. It critiques semantic versioning and ties into Clojure spec.
Topic match · Functional programming
57:38Clasp: Common Lisp using LLVM and C++ for Molecular Metaprogramming
52K views • 11 years ago
Google TechTalks
Christian Schafmeister's Google Tech Talk on designing spiroligomer molecules and building Clasp, a Common Lisp on LLVM that interoperates with C++, to program molecular design. It covers the chemistry, automatic differentiation for force fields, and how the compiler is built.
Topic match · Functional programming
1:01:39"Simple Made Easy" - Rich Hickey (2011)
434K views • 5 years ago
ClojureTV
Rich Hickey's Strange Loop 2011 keynote separates 'simple' (not intertwined) from 'easy' (familiar or near at hand) and argues that software complexity comes from complecting things. It offers a vocabulary for judging designs and abstractions.
Topic match · Functional programming
1:02:50The Language of the System - Rich Hickey
174K views • 13 years ago
ClojureTV
Rich Hickey's 2013 talk applies language-design thinking to whole systems, covering names, queues, data, failure, and the interfaces between programs. It ends with a call to action for building systems holistically.
Topic match · Functional programming
1:07:22Invited Talk - Guy Steele
39K views • 9 years ago
ClojureTV
Guy Steele's invited talk at Clojure/conj on the informal metanotation computer scientists use in papers to describe languages. He traces how this notation developed and why it is often unspecified and arcane.
Topic match · Functional programming
1:04:53Julia: to Lisp or not to Lisp?
24K views • 10 years ago
European Lisp Symposium
Stefan Karpinski's European Lisp Symposium 2016 talk asks whether Julia is a Lisp. He covers the features it borrows from Lisp, such as macros and closures, and where it departs, including syntax and its type system, with generated machine code shown.
Topic match · Functional programming
45:50"The Mess We're In" by Joe Armstrong
398K views • 12 years ago
Strange Loop Conference
Joe Armstrong, co-inventor of Erlang, gives a funny and opinionated Strange Loop talk on the tangled state of software: build tools, package managers, entropy and the physical limits of computation. He argues for ideas like naming things by content hash and throwing away your first version.
Topic match · Functional programming
36:42Bottom Up vs Top Down Design in Clojure - Mark Bastian
29K views • 10 years ago
ClojureTV
Mark Bastian contrasts top-down object-oriented design with bottom-up, data-oriented design in Clojure. He models a board game as plain data plus small composable functions and compares it with a roughly 22-class OOP version.
Topic match · Functional programming
40:13"Programming a 144-computer chip to minimize power" - Chuck Moore (2013)
19K views • 5 years ago
Strange Loop Conference
Chuck Moore, inventor of Forth, presents GreenArrays' 144-core asynchronous chip at Strange Loop 2013. He explains how idle cores draw almost no power and how tight code minimizes energy use.
Topic match · Functional programming
43:04"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)
468K views • 4 years ago
Strange Loop Conference
Jack Rusher's Strange Loop 2022 talk argues that most programming languages are still designed around punchcard-era assumptions. He makes the case for live, interactive programming environments, drawing on Lisp, Smalltalk and REPL-driven development.
Topic match · Functional programming
36:53Rails Conf 2012 Keynote: Simplicity Matters by Rich Hickey
220K views • 14 years ago
Confreaks
Rich Hickey's keynote at RailsConf 2012, a close sibling of his 'Simple Made Easy' talk. He distinguishes simple (not intertwined) from easy (familiar), and argues that software complexity comes from complecting things, with Rails-specific examples including large gem collections.
Topic match · Functional programming