HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

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

FooCafe1 HN recommender · recommended in 1 month, 2016-2022
YouTube
74K views · 11 years ago · talk · evergreen

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.

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

Functional programmingSoftware architecture & designPure mathematics#categorytheory#erikmeijer#interfacedesign#lambdas#functionalprogramming

5 comments from Hacker News

@deltasevennine2022 · in “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 of set theory. Don't worship authority for authorities sake. If the IEEE declared 1+1=3 would you believe it? Instead use your own brain. Do my arguments have merit? Does the IEEE definition seem inconsistent? Does my definition make logical sense? If you can think of these things on your own merits instead of blindly following the IEEE then you'll see that the definition of OOP is just something academia hasn't really thought about deeply from a theoretical and mathematical standpoint. OOP is more like a term that comes from applied engineering with very little theoretical foundation. If you want some sort of authority I googled some authoritative talk about category theory explained to programmers: ▶ this video I'm sure maybe you heard of haskell and category theory? Haskell is a purely functi

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

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

CitesView on HN
@clusmore2016 · in “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 implementations of an interface satisfy laws like this. In Haskell, this would mean that you could enforce things like monadic laws which we all assume to be true anyway. [1] ▶ this video

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

CitesView on HN
Category Theory in Life - Eugenia Cheng40:39

Category Theory in Life - Eugenia Cheng

Lambda World
113K views • 9 years ago
Category Theory 1.1: Motivation and Philosophy46:46

Category Theory 1.1: Motivation and Philosophy

Bartosz Milewski
394K views • 10 years ago
Category Theory by Tom LaGatta1:36:54

Category Theory by Tom LaGatta

AI Council
73K views • 12 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
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
Lenses, Folds, and Traversals1:54:46

Lenses, Folds, and Traversals

Edward Kmett
54K views • 13 years ago
Brian Beckman: Don't fear the Monad1:07:10

Brian Beckman: Don't fear the Monad

jasonofthel33t
415K views • 13 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
The Algebra of Algebraic Data Types1:04:35

The Algebra of Algebraic Data Types

London Haskell
27K views • 13 years ago
Effective Programs - 10 Years of Clojure - Rich Hickey1:14:52

Effective Programs - 10 Years of Clojure - Rich Hickey

ClojureTV
176K views • 9 years ago
Ruby Manor 3 - Programming with Nothing by Tom Stuart40:50

Ruby Manor 3 - Programming with Nothing by Tom Stuart

Confreaks
13K views • 13 years ago
Scala Collections: Why Not?45:42

Scala Collections: Why Not?

InfoQ
43K views • 12 years ago
Edward Kmett - Type Classes vs. the World1:42:53

Edward Kmett - Type Classes vs. the World

Boston Haskell
36K views • 11 years ago
Domain Modeling Made Functional - Scott Wlaschin - KanDDDinsky 201950:49

Domain Modeling Made Functional - Scott Wlaschin - KanDDDinsky 2019

KanDDDinsky
74K views • 6 years ago
Domain Modeling Made Functional - Scott Wlaschin51:40

Domain Modeling Made Functional - Scott Wlaschin

NDC Conferences
71K views • 9 years ago
Adventure with Types in Haskell - Simon Peyton Jones (Lecture 1)1:33:37

Adventure with Types in Haskell - Simon Peyton Jones (Lecture 1)

jasonofthel33t
69K views • 12 years ago
"Propositions as Types" by Philip Wadler42:43

"Propositions as Types" by Philip Wadler

Strange Loop Conference
143K views • 11 years ago
Lecture 1A: Overview and Introduction to Lisp1:12:56

Lecture 1A: Overview and Introduction to Lisp

MIT OpenCourseWare
420K views • 7 years ago
Glenn Vanderburg - Cló: The Algorithms of TeX in Clojure42:25

Glenn Vanderburg - Cló: The Algorithms of TeX in Clojure

ClojureTV
9K views • 11 years ago
Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure53:56

Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure

jasonofthel33t
119K views • 13 years ago