Skip to content
HHackerTube.videoSurprise me

Ruby Manor 3 - Programming with Nothing by Tom Stuart

Ruby Manor 3 - Programming with Nothing by Tom Stuart on HackerTube: recommended by 4 Hacker News commenters across 4 separate months, 2013–2019.

Confreaks

talk · intermediate · evergreen

Open on YouTube

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.

Why Hacker News recommends it

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

people recommended it
4
separate months
4
strong recommendations
3
discussed on HN
2013–2019
“An awesome video which changed my perspective towards lambda calculus and programming in general”
— tacticiankerala, Apr 2015, in “A Short and Painless Introduction to the Lambda Calculus [pdf]”

What HN commenters said

5 Hacker News comments link this video. Each one links back to its thread.

tacticiankeralaApr 2015Strongly recommends

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

in “A Short and Painless Introduction to the Lambda Calculus [pdf]” · View on HN

gamegoblinSep 2014Strongly recommends

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

in “Church Numerals” · View on HN

mekishizufuNov 2013Strongly recommends

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

in “What is a y-combinator? (2008)” · View on HN

stan_rogersJan 2019Recommends

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

in “FizzBuzz in ten languages” · View on HN

stan_rogersMar 2017Cites it

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.

in “Whiteboard problems in pure Lambda Calculus” · View on HN

Topics & tags

Computability & complexity theoryFunctional programmingPython, Ruby & scripting languageslambda calculuschurch encodingrubyfizzbuzzy combinatorfunctional programming