Category Theory, The essence of interface-based design - Erik Meijer

FooCafe · 74K views · 2015 · 1:03:14

Open on YouTube

Functional programmingSoftware architecture & designPure mathematicstalk

Why Hacker News recommends it

It is cited as an authoritative take on category theory for programmers and API design.

What it is

Erik Meijer argues that category theory is the mathematicians' version of interface-based design. He shows that Java 8 lambdas and method references form a Cartesian closed category.

Recommended by 1 HN commenters across 1 different months, 2016 to 2022.

What Hacker News said

Recommends yenwel · 2018-10 · on “An invitation to category theory”

Also nice: Erik Meijer Explains it well: [this video] (check out FP101 on edx) Statebox guys doing stuff with category theory, blockchain and petrinets: [LINK] [LINK] Graphical linear algebra: [LINK] Jules Hedges working on game theory : [LINK]

Cites chas · 2016-01 · on “How we used Category Theory to solve a problem in Java”

Yes! This isn't an accident. Erik Meijer, who contributed extensively to the Reactive Framework at Microsoft, has been very vocal about his use of category theory for software design. ( [this video] ) He currently runs Applied Duality which is uses category theory as its guiding design principle ( [LINK] )

Cites clusmore · 2016-10 · on “Static typing will not save us from broken software”

I watched a talk by Erik Meijer [1] recently where he mentioned that an implementation of a tuple such as (C# syntax mine, but illustrates the point) class Tuple<T1, T2> { public Tuple(T1 t1, T2 t2) { } public T1 Item1 => default(T1); // null for reference-types public T2 Item2 => default(T2); // null for reference-types } is a perfectly type-safe implementation of a tuple that's completely nonsense. I'm curious as to how you might actually encode into the type system that the values that come out of Item1 and Item2 are actually the values you put in. I would love to see tests at the interface level (or typeclass level for Haskellers) rather than the implementation level, to enforce that all

Cites adamnemecek · 2017-01 · on “Basic Category Theory”

Erik Meijer gave a talk called "Category Theory, The essence of interface-based design" [this video] Fundamentally, category theory is seen as some sort of holy grail of programming. The hope is that learning about only one API will let you interact naturally and composably with any interface conforming to that design.

Cites deltasevennine · 2022-11 · on “C++ is the next C++”

> I prefer the academic truth, validated by renowned peers in the industry, presented at acknowledged conferences, to random opinions on the Internet. You don't even know who wrote the IEEE definition and who validated it. Second this isn't academic truth. This is just some arbitrary chosen standard chosen by industry. Not academic at all. In mathematics, the ultimate logical form of academia there is a term for "interfaces". It's called categories, and there's a entire theoretical framework behind it called "Category Theory". This theory of "interfaces" goes beyond just OOP and category theory can be used to foundation-ally describe all of mathematics and function as a sort of replacement o