Ruby Manor 3 - Programming with Nothing by Tom Stuart
Confreaks4 HN recommenders · recommended in 4 months, 2013-2019
13K views · 14 years ago · talk · evergreen
Tom Stuart's Ruby Manor 3 talk builds FizzBuzz using nothing but Ruby lambdas, working through Church encodings of numbers, booleans and data structures. It is a hands-on introduction to lambda calculus.
Strongly recommended in lambda calculus and Y-combinator threads as a mind-expanding half hour that clarifies the ideas.
53:22Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich
Confreaks
65K views • 14 years ago
1:02:15Lambda Calculus - Fundamentals of Lambda Calculus & Functional Programming in JavaScript
Fullstack Academy
227K views • 9 years ago
3:26:34David Beazley - Lambda Calculus from the Ground Up - PyCon 2019
PyCon 2019
52K views • 7 years ago
43:31Analyzing Programs with Z3
Compose Conference
24K views • 10 years ago
1:07:10Brian Beckman: Don't fear the Monad
jasonofthel33t
415K views • 13 years ago
43:37Lambda World 2018 - What FP can learn from Smalltalk by Aditya Siram
Lambda World
25K views • 7 years ago
56:58Philip Wadler - Propositions as Types (Lambda Days 2016)
Erlang Solutions
20K views • 10 years ago
1:07:22Invited Talk - Guy Steele
ClojureTV
39K views • 9 years ago
1:05:51The Functional Programmer's Toolkit - Scott Wlaschin
NDC Conferences
79K views • 7 years ago
1:04:35The Algebra of Algebraic Data Types
London Haskell
27K views • 13 years ago
1:03:34Simon Peyton Jones - Linear Haskell: practical linearity in a higher-order polymorphic language
Curry On!
19K views • 8 years ago
1:00:58The Next Five Years of ClojureScript - David Nolen
Metosin
19K views • 10 years ago
51:40Domain Modeling Made Functional - Scott Wlaschin
NDC Conferences
71K views • 9 years ago
55:28Erlang Factory SF 2016 Keynote Phoenix and Elm – Making the Web Functional
Erlang Solutions
23K views • 10 years ago
1:12:10Practical Common Lisp
Google TechTalks
98K views • 19 years ago
58:22Lecture 1B | MIT 6.001 Structure and Interpretation, 1986
MIT OpenCourseWare
116K views • 17 years ago
1:09:24Effective ML
Jane Street
30K views • 10 years ago
1:02:26Solving Problems the Clojure Way - Rafal Dittwald
Clojure/north
87K views • 7 years ago
42:43"Propositions as Types" by Philip Wadler
Strange Loop Conference
143K views • 11 years ago
40:20"Shen: A Sufficiently Advanced Lisp" by Aditya Siram
Strange Loop Conference
26K views • 12 years ago
5 comments from Hacker News
There's a good elaboration of it in Tom Stuart's "Programming With Nothing" talk[0], in which he does a lambda calculus implementation of FizzBuzz in what's left of Ruby if you leave everything out except the things strictly necessary to do lambda calculus - with the exception of what you could call C-style macros (basically text search-and-replace, so you can call a section of code FOO and just type FOO everywhere you would have typed that section of code). There's also the little matter of output - you need to translate the resulting Church numerals into readable form for those who can't see that you've obviously produced correct FizzBuzz. There's a good enough explanation that what needs to be sort of hand-waved for brevity (things that are shown but not really explained in detail) aren't entirely opaque - you will be able to figure it out. Keep in mind, too, that the lambda calculus is a lot like machine language in one respect - the same little bit of "code" can have more than one meaning to the programmer even if the "machine" is doing exactly the same thing. [0] ▶ this video
The same thing, but in Ruby stabby-proc notation (from 2012) by Tom Stuart: ▶ this video Well, perhaps not exactly the same thing, but only because Ruby requires the Z-combinator due to applicative order.
An awesome video which changed my perspective towards lambda calculus and programming in general: programming with nothing: ▶ this video
For anyone who finds this interesting, I cannot recommend enough investing a half hour in watching the "Programming With Nothing" talk: ▶ this video In it, the speaker implements fizzbuzz using only lambda calculus (making significant use of church encoding).
If you are curious about the topic, I strongly recommend watching these videos: Y Not- Adventures in Functional Programming by Jim Weirich link Programming with Nothing by Tom Stuart ▶ this video