HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Ruby Manor 3 - Programming with Nothing by Tom Stuart

Confreaks4 HN recommenders · recommended in 4 months, 2013-2019
YouTube
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.

Computability & complexity theoryFunctional programmingPython, Ruby & scripting languages#lambdacalculus#churchencoding#ruby#fizzbuzz#ycombinator#functionalprogramming

5 comments from Hacker News

@stan_rogers2019 · in “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 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

RecommendsView on HN
@stan_rogers2017 · in “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.

CitesView on HN
@tacticiankerala2015 · in “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

Strongly recommendsView on HN
@gamegoblin2014 · in “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).

Strongly recommendsView on HN
@mekishizufu2013 · in “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

Strongly recommendsView on HN
Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich53:22

Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich

Confreaks
65K views • 14 years ago
Lambda Calculus - Fundamentals of Lambda Calculus & Functional Programming in JavaScript1:02:15

Lambda Calculus - Fundamentals of Lambda Calculus & Functional Programming in JavaScript

Fullstack Academy
227K views • 9 years ago
David Beazley - Lambda Calculus from the Ground Up - PyCon 20193:26:34

David Beazley - Lambda Calculus from the Ground Up - PyCon 2019

PyCon 2019
52K views • 7 years ago
Analyzing Programs with Z343:31

Analyzing Programs with Z3

Compose Conference
24K views • 10 years ago
Brian Beckman: Don't fear the Monad1:07:10

Brian Beckman: Don't fear the Monad

jasonofthel33t
415K views • 13 years ago
Lambda World 2018 - What FP can learn from Smalltalk by Aditya Siram43:37

Lambda World 2018 - What FP can learn from Smalltalk by Aditya Siram

Lambda World
25K views • 7 years ago
Philip Wadler  - Propositions as Types (Lambda Days 2016)56:58

Philip Wadler - Propositions as Types (Lambda Days 2016)

Erlang Solutions
20K views • 10 years ago
Invited Talk - Guy Steele1:07:22

Invited Talk - Guy Steele

ClojureTV
39K views • 9 years ago
The Functional Programmer's Toolkit - Scott Wlaschin1:05:51

The Functional Programmer's Toolkit - Scott Wlaschin

NDC Conferences
79K views • 7 years ago
The Algebra of Algebraic Data Types1:04:35

The Algebra of Algebraic Data Types

London Haskell
27K views • 13 years ago
Simon Peyton Jones - Linear Haskell: practical linearity in a higher-order polymorphic language1:03:34

Simon Peyton Jones - Linear Haskell: practical linearity in a higher-order polymorphic language

Curry On!
19K views • 8 years ago
The Next Five Years of ClojureScript - David Nolen1:00:58

The Next Five Years of ClojureScript - David Nolen

Metosin
19K views • 10 years ago
Domain Modeling Made Functional - Scott Wlaschin51:40

Domain Modeling Made Functional - Scott Wlaschin

NDC Conferences
71K views • 9 years ago
Erlang Factory SF 2016 Keynote  Phoenix and Elm – Making the Web Functional55:28

Erlang Factory SF 2016 Keynote Phoenix and Elm – Making the Web Functional

Erlang Solutions
23K views • 10 years ago
Practical Common Lisp1:12:10

Practical Common Lisp

Google TechTalks
98K views • 19 years ago
Lecture 1B | MIT 6.001 Structure and Interpretation, 198658:22

Lecture 1B | MIT 6.001 Structure and Interpretation, 1986

MIT OpenCourseWare
116K views • 17 years ago
Effective ML1:09:24

Effective ML

Jane Street
30K views • 10 years ago
Solving Problems the Clojure Way - Rafal Dittwald1:02:26

Solving Problems the Clojure Way - Rafal Dittwald

Clojure/north
87K views • 7 years ago
"Propositions as Types" by Philip Wadler42:43

"Propositions as Types" by Philip Wadler

Strange Loop Conference
143K views • 11 years ago
"Shen: A Sufficiently Advanced Lisp" by Aditya Siram40:20

"Shen: A Sufficiently Advanced Lisp" by Aditya Siram

Strange Loop Conference
26K views • 12 years ago