Skip to content
0:00 / 0:00

#categorytheory#erikmeijer#java8

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

FooCafe

6K subscribers • 2 videos on Hallway

YouTube
  • Recommended by 2 people: 1 on Hacker News and 1 in engineering communities.
  • A classic. People kept recommending it from 2015 to 2018.
  • Presented by Erik Meijer, computer scientist
  • An opinion. It argues one side of a question engineers disagree on.

Advanced. Deep dive for people who know the field.

74K views11 years ago2 recommendations

Programming languagesSoftware designFunctional programmingLanguage design and type systemsAPI design

Erik Meijer explains how category theory relates to interface-based design, demonstrating that Java 8 lambdas form a Cartesian closed category.

Category Theory is the Mathematicians' interpretation of interface-based design, so whenever you hack together a new API in your favourite OO language, it is always a smart idea to ask the question x -LT "What would x do?" applied to the Category Theorist that worked on your same problem already decades ago. Since lambda expressions are the new hot topic all across programming language land these days, we will invoke our question of conscience with "Joachim Lambek" and learn that Java 8 lambdas and method references are simply a Cartesian Closed Category, proving yet again that interfaces are the OO developers' interpretation of Category Theory. Foo Café is an independent and physical meeting place for people of all backgrounds and expertise within the IT-industry in the Malmö/Lund region. Foo Café is aimed at those interested in sharing, learning and creating. Join the fun at foocafe.org

Why it's here

2 people recommend this

What people say. Recommended as an accessible introduction to category theory and its practical application to software design.

u/sibipin r/haskell • Recommends

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

yenwelon Hacker News • Recommends

On “An invitation to category theory”

Also nice: Erik Meijer Explains it well: link to 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

chason Hacker News • Mentions

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. ( link to this video ) He currently runs Applied Duality which is uses category theory as its guiding design principle ( link )

clusmoreon Hacker News • Mentions

On “Static typing will not save us from broken software”

…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 link to this video…

adamnemecekon Hacker News • Mentions

On “Basic Category Theory”

Erik Meijer gave a talk called "Category Theory, The essence of interface-based design" link to 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.

deltasevennineon Hacker News • Mentions

On “C++ is the next C++”

…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: link to this video I'm sure maybe you heard of haskell and category theory? Haskell is a purely functi…