Ruby Manor 3 - Programming with Nothing by Tom Stuart

Confreaks · 12K views · 2012 · 40:50

Open on YouTube

Computability & complexity theoryFunctional programmingPython, Ruby & scripting languagestalk

Why Hacker News recommends it

Strongly recommended in lambda calculus and Y-combinator threads as a mind-expanding half hour that clarifies the ideas.

What it is

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.

Recommended by 4 HN commenters across 4 different months, 2013 to 2019.

What Hacker News said

Strong rec mekishizufu · 2013-11 · on “What is a y-combinator? (2008)”

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]

Strong rec gamegoblin · 2014-09 · on “Church Numerals”

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).

Strong rec tacticiankerala · 2015-04 · on “A Short and Painless Introduction to the Lambda Calculus [pdf]”

An awesome video which changed my perspective towards lambda calculus and programming in general: programming with nothing: [this video]

Recommends stan_rogers · 2019-01 · on “FizzBuzz in ten languages”

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

Cites stan_rogers · 2017-03 · on “Whiteboard problems in pure Lambda Calculus”

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.