Best Functional programming Videos
「Functional programming」下面有225部被不同的人、在不同月份推荐过的视频。挑的时候先看对象:入门24部,适合还没学过的人;进阶137部,适合已经懂术语的人;普通向18部,按兴趣就能看;更硬的46部,留给想看推导或细节的人。这一类数量最多的是演讲,所以它们的共同点是一位讲者把一个判断讲完,例子是为了撑住这个判断。常出现的频道包括ClojureTV、Strange Loop Conference、Google TechTalks。目录给这个主题划的范围是:Functional programming: Haskell, OCaml, Clojure, Erlang, Elixir, Scala, Lisp, Scheme, immutability, monads, purity, pattern matching, Rich Hickey, Simon Peyton Jones.如果只看三部,就从《Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich》开始,它负责把问题讲出画面;然后看《The Soul of Erlang and Elixir • Sasa Juric • GOTO 2019》,换一种讲法或例子;最后看《"Simple Made Easy" - Rich Hickey (2011)》,留给已经有基础的人。页面按每页24部切开,顺序看的是被推荐跨越了多少个月,不是播放量。每条标题下面那一句是这部片子自己的内容说明,用来区分它在讲定义、过程、演示还是观点。点进去能看到推荐原话、原文链接和适合谁看。看的时候把强烈推荐当成有人明确叫你去看,把引用当成只是拿来举例,把批评留下来对照,不要把每条评论都当成同一力度。

Simon Peyton Jones: Data Parallel Haskell
Simon Peyton Jones explains nested data parallelism and Data Parallel Haskell, an approach to exploiting multicore and distributed hardware while keeping a simple single-control-flow programming model.

John Wiegley: Putting Lenses to Work
John Wiegley's BayHac 2017 talk walks through Haskell lenses by example, showing many practical uses beyond simple record access.

Netflix JavaScript Talks - Async JavaScript with Reactive Extensions
A Netflix JavaScript talk on using Reactive Extensions (Rx) for asynchronous UI code.

Elm Europe 2017 - Evan Czaplicki - The life of a file
Elm creator Evan Czaplicki's talk on how a file grows and when to split code up.

Domain Modeling Made Functional - Scott Wlaschin - KanDDDinsky 2019
Scott Wlaschin shows how statically typed functional languages, using F# examples, can model a business domain so that invalid states cannot be represented.

Jordan Walke - React to the Future
Jordan Walke, creator of React, talks at ReasonConf 2019 about the ideas behind ReasonML and how it extends React's programming model with OCaml.

Rich Hickey: Deconstructing the Database
Rich Hickey, creator of Clojure and designer of Datomic, gives a JaxConf 2012 talk that takes apart traditional database architecture.

Edwin Brady - Idris 2 - Type-driven Development of Idris
Edwin Brady, creator of Idris, presents Idris 2 and demonstrates type-driven development, where the compiler assists by filling holes and suggesting implementations from types.

Depth-first search in APL
John Scholes builds a depth-first tree-search operator step by step in a Dyalog APL session.

Debugging with the Scientific Method - Stuart Halloway
Stuart Halloway of Cognitect argues for debugging with the scientific method: form hypotheses, try to falsify them, and write everything down.

The Functional Programmer's Toolkit - Scott Wlaschin
Scott Wlaschin demystifies functional programming terms like monads, monoids, functors and catamorphisms by showing how they fit into a small toolkit.

ElixirConf 2018 - Keynote - Chris McCord
Chris McCord's ElixirConf 2018 keynote introduces Phoenix LiveView, which renders HTML on the server and updates the page over websockets.

Stephen Wolfram's Introduction to the Wolfram Language
Stephen Wolfram gives a 13-minute tour of the Wolfram Language, a symbolic, functional programming language with a built-in knowledgebase.

Four Solutions to a Trivial Problem - Guy Steele Jr.
Guy Steele presents a small geometric problem and compares four computational approaches: a classic sequential solution and three parallel-friendly ones.

SYMBOLICS S-PACKAGES 3D GRAPHICS AND ANIMATION DEMO
A demo of the Symbolics Graphics Division's S-Packages, a Lisp-based 3D color graphics and animation system from the 1980s.

The Simple Essence of Automatic Differentiation - Conal Elliott
Conal Elliott presents his paper on automatic differentiation, deriving a simple, generalized AD algorithm from a natural specification.

Erlang: The Movie
A short Ericsson film demoing Erlang, showing concurrent processes, debugging tools, and hot code reloading, including crashing parts of a running system while calls continue.

John Hughes - Testing the Hard Stuff and Staying Sane
John Hughes, co-creator of QuickCheck, talks about property-based testing of hard systems.

Joe Armstrong - Keynote: The Forgotten Ideas in Computer Science - Code BEAM SF 2018
Erlang co-creator Joe Armstrong's Code BEAM SF 2018 keynote revisits good ideas from the history of computing that were dropped, and asks which should be revived.

Ron Pressler - Pull Push: Please stop polluting our imperative languages with pure concepts-Curry On
Ron Pressler's Curry On 2015 talk arguing that imperative languages should not be polluted with pure functional concepts like monads.

Literate Programming in the Large
Timothy Daly, an original author of the Axiom computer algebra system, talks about turning a large Common Lisp codebase into a literate program.

Om Next - David Nolen
David Nolen presents Om Next, the redesign of the ClojureScript Om library, drawing on Relay, Netflix's JSONGraph and Datomic.

"Data Driven UIs, Incrementally" by Yaron Minsky
Yaron Minsky of Jane Street shows how the OCaml Incremental library lets trading UIs express data transformations that are easy to read and efficient on streaming data.

Practical Common Lisp
Peter Seibel's 2006 Google TechTalk on Practical Common Lisp, framed by the Sapir-Whorf hypothesis and Paul Graham's Blub paradox.