What is PLUS times PLUS?
2swap1 HN recommender · recommended in 1 month, 2025-2026
2.2M views · 1 year ago · explainer · evergreen
2swap explores lambda calculus using John Tromp's lambda diagrams, with animated beta-reductions, asking what PLUS times PLUS gives. It touches on Church encodings and the equivalence of Turing machines and lambda calculus.
Mentioned in lambda calculus and combinator threads as a visual entry point to the topic.
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
10:44P vs. NP and the Computational Complexity Zoo
hackerdashery
3.7M views • 12 years ago
40:50Ruby Manor 3 - Programming with Nothing by Tom Stuart
Confreaks
13K views • 14 years ago
53:22Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich
Confreaks
65K views • 14 years ago
1:00:341. Introduction, Finite Automata, Regular Expressions
MIT OpenCourseWare
626K views • 5 years ago
1:04:35The Algebra of Algebraic Data Types
London Haskell
27K views • 13 years ago
1:07:10Brian Beckman: Don't fear the Monad
jasonofthel33t
415K views • 13 years ago
40:39Category Theory in Life - Eugenia Cheng
Lambda World
113K views • 9 years ago
52:59Introducing Nx - José Valim | Lambda Days 2021
Code Sync
26K views • 5 years ago
40:15Bringing Types to Elixir by Giuseppe Castagna and Guillaume Duboc | ElixirConf EU 2023
Code Sync
7K views • 3 years ago
1:05:51The Functional Programmer's Toolkit - Scott Wlaschin
NDC Conferences
79K views • 7 years ago
1:11:42ElixirConf 2023 - José Valim - The foundations of the Elixir type system
ElixirConf
38K views • 3 years ago
12:56Stephen Wolfram's Introduction to the Wolfram Language
Wolfram
924K views • 12 years ago
1:07:22Invited Talk - Guy Steele
ClojureTV
39K views • 9 years ago
1:01:39"Simple Made Easy" - Rich Hickey (2011)
ClojureTV
434K views • 5 years ago
1:54:46Lenses, Folds, and Traversals
Edward Kmett
54K views • 13 years ago
1:04:16Simon Peyton-Jones: Escape from the ivory tower: the Haskell journey
Churchill College, University of Cambridge
170K views • 9 years ago
13:37Times Tables, Mandelbrot and the Heart of Mathematics
Mathologer
2.8M views • 11 years ago
1:30:45The Simple Essence of Automatic Differentiation - Conal Elliott
Microsoft Research
17K views • 8 years ago
5 comments from Hacker News
I also liked the one on lambda calculus. I hope one day we will be able to find interpretation of what it actually means for PLUS Times Plus. Maybe this is how we will explore nonstandard arithmetic. What is PLUS times PLUS? ▶ this video
Combinators are math, and a little like Lisp - building functions from primitives and operations with the ability to apply them, where even the notion of variables are functions - functions all the way down. The y combinator is this: λf.(λx.x x)(λx.f(x x)) Lambda diagrams get you visualizations like this: link When considering logic and functions, when thinking in the space of combinators, you can ask questions like "What is Plus times Plus" and have a sensible result. ▶ this video Combinators are awesome. The site linked by OP is a specific collection of combinators with bird names, riffing on the "To Mock a Mockingbird" puzzle book and subsequent meme of giving combinators bird names.
For comparison: factorial(3) visualized in two different notations. John Tromp's Lambda Diagrams (via 2swap): ▶ this video Bubble Notation: link
I don't know much about any of this, and I'm far from an expert on the lambda calculus. But I skimmed paper by OP, which is informative: link The lambda calculus is an alternate model of computation created by Alonzo Church in the 1930s. It's basically a restricted programming language where the only things you can do are define anonymous functions, and apply those anonymous functions to input variables or the output of other functions. The Lambda calculus statement And = λp.λq.p q p is more conventionally notated as And(p, q) = p(q(p)). You can reduce lambda expressions -- basically, this is "Simplifying this program as far as possible" what you expect a good optimizing compiler to do. When there are multiple possible simplifications, which one should you pick? This is a complicated problem people basically solved years ago, but the solutions are also complicated and have a lot of moving parts. OP came up with a graph-based system called ∆-Nets that is less complicated and more clearly explained than the older solutions. ∆-Nets is a lot easier for people to understand and implement, so it might have practical applications making better performance and tooling for lambda-calculus-based programming languages. Which might in turn have practical benefits for areas where those languages are used (e.g. compilers). The linked simulation lets you write a lambda calculus program, see what it looks like as a ∆-Net graph, and click to simplify the graph. It's only tangentially relate
True, thanks for clarification that would be this one - link as I just started learning lambda calculus and this one helped Also this is where I got the interest from - ▶ this video