Skip to content
0:00 / 0:00

#categorytheory#propositionsastypes#haskell

"Categories for the Working Hacker" by Philip Wadler

Strange Loop Conference

88K subscribers • 107 videos on Hallway • Conference channel

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Philip Wadler, Professor of Theoretical Computer Science

Intermediate. Assumes working knowledge.

72K views8 years ago1 recommendation

Computer scienceProgramming languagesComputation and complexityFunctional programmingLanguage design and type systems

Philip Wadler explains how category theory models basic data types and relates to logic and programming languages like Java and Haskell.

The talk will explain why category theory is of interest for developers, taking examples from Java and Haskell, and referencing the new blockchain scripting languages Simplicity, Michelson, and Plutus. The principle of Propositions as Types describes a correspondence between, on the one hand, propositions and proofs in logic, and, on the other, types and programs in computing. And, on the third hand, we have category theory! Assuming only high school maths, the talk will explain how categories model three basic data types: products (logical and), sums (logical or), and functions (logical implication). And it explains why you already learned the most important stuff in high school. Speaker: Philip Wadler

Why it's here

1 person recommends this

What people say. Recommended as an accessible introduction to category theory for programmers.

u/awtemin r/functionalprogramming • Recommends

"Categories for the Working Hacker" by Philip Wadler

u/syklemilconsidered harmfulin r/ProgrammingLanguages • Mentions

On “Is there an "opposite" to enums?”

The type doesn't "contain" a sum, no, it _is_ a sum. The names "product type" and "sum type" mean whether the domain of the type is a sum or a product of its component domains. See e.g. Wadler's _Categories for the working hacker_ for an introduction to the topic.

u/ClutchHunterin r/typescript • Mentions

On “Do you write less tests now?”

Philip Wadler is great when it comes to understanding maths as it applies to our field: #1 #2 Conal Elliott's talks about denotational design are really interesting though admittedly still go over my head a bit: #1 This talk from Daniela Sfregola helps explain concepts like functor, monoid, etc without any assumptions about mathematical knowledge (the point being they're very simple concepts): #1 Simon Peyton-Jones is one of the original creators of Haskell, and his perspective thereof is really interesting (and balanced): #1 #2 These are my favourites from the last few months. I'd prioritise Wadler and Sfregola initially, as Elliott's talks are very advanced and Peyton-Jones…

u/syklemilin r/ProgrammingLanguages • Mentions

On “Lambda Calculus core in every language”

>> Coming into a math post > > I saw it as a post about a coding challenge. Okay, so, lambda calculus is a _calculus_ that's centred around _lambdas_ (which in js denoted `x => M` rather than `(λx. M)`). If you're not familiar with lambda calculus, you could try searching the net for it (as you can see, it even has an article on wikipedia), and generally try to be open and constructive: Ask about the stuff you're not familiar with, rather than denigrate the author or js for being bad somehow. Try to avoid coming off as aggressively ignorant. > I don't agree with being cryptic for the sake of it. All the stuff *I* do is kept accessible. It's not being cryptic for the sake of it; it was fol…