Skip to content
0:00 / 0:00

#lambdacalculus#combinators#churchencoding

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

Fullstack Academy

58K subscribers • 1 video on Hallway

YouTube
  • Recommended by 9 people: 5 on Hacker News, 1 on Lobsters and 3 in engineering communities.
  • A classic. People kept recommending it from 2017 to 2024.
  • Presented by Gabriel Lebec
  • Linked in the descriptionglebec/lambda-talk

Intermediate. Assumes working knowledge.

227K views9 years ago9 recommendations

Computer scienceProgramming languagesComputation and complexityFunctional programmingJavaScript

Gabriel Lebec introduces lambda calculus syntax, combinators, and Church encodings, demonstrating how functional programming concepts map to JavaScript.

Fullstack Academy was recently ranked the #1 coding bootcamp in the U.S. Learn more at fullstackacademy.com The Lambda Calculus is a symbol manipulation system which suffices to calculate anything calculable. This branch of pure mathematics forms the backbone of functional programming languages, and here it is presented through the concrete and familiar lens of JavaScript. In this Lambda Calculus video you will learn: - Lambda Calculus Syntax - History of the foundations of mathematical logic - The essence of functional programming 🔗 Part II: youtu.be/pAnLQ9jwN-E 🔗 Slides: bit.ly/2xpcPKn 🔗 Repo: github.com/glebec/lambda-talk

Why it's here

9 people recommend this

What people say. Highly recommended as one of the most approachable and visually pleasing introductions to lambda calculus and combinators.

u/anotherexstnslcrisisin r/haskell • Recommends

As a programmer who’s explicitly only dealt with Python and is now attempting to learn Haskell, this video is one of the most beautifully presented videos explaining the use of Lamba Calculus in settings where languages such as JavaScript would be implemented.

u/fagnerbrackin r/Frontend • Recommends

Fundamentals of Lambda Calculus & Functional Programming in JavaScript

triyambakamon Hacker News • Recommends

On “All you need is λ, part one: booleans”

Just last night I found this excellent introduction to the Lambda Calculus by Gabriel Lebec 1. It's one of the best I've come across and covers briefly history, building up combinators (using Smullyan's names) leading up to implementing Church encodings and gives Javascript equivalents (or approximations when not possible). The slides themselves are also very aesthetically pleasing, Gabriel has a good sense of colour and design 1 link to this video

autophagianon Hacker News • Recommends

On “Logic”

For anyone interested in the topic (combinatory logic as told through the medium of birds) I adore Gabriel Lebec's talk "A Flock Of Functions: Combinators, Lambda Calculus & Church Encodings in JavaScript" link to this video

Zhylon Hacker News • Recommends

On “Ask HN: What resources do you recommend for learning Haskell?”

I found these two videos on combinators and lambda calculus recently. They're only tangentially related to Haskell, but they are the most approachable videos on the topic I have ever seen. link to this video link

ayushgpon Hacker News • Recommends

On “Lisp is not based on the Lambda Calculus”

I suggest you to watch this video if you want to understand how 3 basic functions can be used to create whole language link to this video

zellynon Hacker News • Recommends

On “A little closer to finding what became Moses Schönfinkel (2021)”

I would start with lambda calculus. If you pick the right intro video, they'll stray into combinators: link to this video is very good.

agent281on Lobsters • Recommends

Fundamentals of Lambda Calculus & Functional Programming in JavaScript

u/sabas123in r/compsci • Recommends

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

u/gabedamienin r/functionalprogramming • Mentions

On “is there a heuristic for understanding what a y Combinator is As a beginner in FP”

I can take a crack at it, as someone who made two videos on lambda calculus / combinatorial logic. ## Combinators Let's start with what a combinator is. In short, it's a function that _only_ uses its parameters, and nothing else – i.e. no "free" variables. Some examples: λ x . x -- I / identity λ a b . a -- K / first / const λ a b . b -- KI / second λ f a b . f b a -- C / flip λ f g a . f (g a) -- B / composition And some counter-examples: λ f . f x -- where does x come from? λ f a . f (g a) -- where does g come from? λ n . 1 + n -- where do 1 and + come from? λ x . (x, x) -- where doe…

u/StevenJacin r/compsci • Mentions

Lambda Calculus: What are these notation and how to read them? From [video So ::= means "defined as" What does | mean? Why is there expression expression written twice on the second line? Concrete examples would be appreciated. https://preview.redd.it/ywk7gr8g2jwc1.png?width=1247&format=png&auto=webp&s=51983d7748e011ed53322cda56418685016dbc14

u/gabedamienin r/haskell • Mentions

On “How get a understanding of lambada calculus”

Lambda calculus has very little in the way of pre-requisites. If you know basic algebra / can simplify equations, you have the only real skillset needed, namely manipulating symbols on a page. Since you know JS, I will plug my introductory two-part presentation on lambda calc: link to this video My repo for that talk lists some relevant additional resources, some of which you may find helpful: https://github.com/glebec/lambda-talk/blob/master/README.md#additional-resources In particular, I think this book is quite good: https://www.amazon.com/Introduction-Functional-Programming-Calculus-Mathematics/dp/0486478831 There is also this online interactive tutorial (not listed in the above resources) whic…

u/gabedamienin r/haskell • Mentions

On “Starting my functional programming class in 2 weeks, how to prepare?”

### Some Relevant Concepts for Research - Some bread-and-butter functional programming techniques - Currying / partial application - Higher-order functions (closely related to the above) - Function composition - Purity and immutability - Recursive functions / recursive data types - Haskell hallmark #1: its type system - Type signatures, type inference - Algebraic data types, concrete types, type constructors - Type classes - Haskell hallmark #2: its lazy evaluation strategy - Infinite data structures - As a consequence: totally pure - Some deeper mathematical fields related to FP: - Lambda calculus (this is basically the heart of FP) - Category theory / abstract alge…

u/kensuke155in r/haskell • Mentions

On “Lambda Calculus”

This is the best content I've discovered on Lambda Calculus and is one of my favorite talks in general: link to this video Next, I'd check out this interpreter and especially the prelude: https://github.com/jtolio/sheepda

u/kensuke155in r/functionalprogramming • Mentions

On “Looking for a conceptual introduction to FP and programming paradigms in general”

This might be too abstract and doesn't exactly address FP applications, but it's my favorite FP related talk by far: link to this video

u/thinline20in r/functionalprogramming • Mentions

On “Seeking advice on choosing a functional programming language”

I suggest you start with the ones you already know. You said you are using Python now and I think Python is a great choice to start with since you already know how to use it. link to this video link to this video These videos are about Lambda Calculus and combinators. Lambda calculus is a great starting point when trying out fp style. It is easy to understand and can be applicable to any languages.