Skip to content
0:00 / 0:00

#categorytheory#abstractalgebra#haskell

Gabriel Gonzales: Applied category theory and abstract algebra - λC Winter Retreat 2017

LambdaConf

8.8K subscribers • 18 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Gabriel Gonzales

Intermediate. Assumes working knowledge.

6.7K views9 years ago1 recommendation

Programming languagesComputer scienceHaskellFunctional programmingComputation and complexity

Gabriel Gonzales explains how to tackle software complexity by reusing standard interfaces from category theory and abstract algebra in Haskell.

The Haskell programming language resembles "executable math" and this mathematical connection challenges us to rethink how we organize our code. We can tackle software complexity by reusing standard interfaces that originate in the fields of category theory and abstract algebra. These interfaces improve code reuse for end-users, and also simplify correctness proofs for library authors. You should attend this session if you've ever pondered questions such as: "What is the point of category theory?" "Can correctness proofs scale to larger software projects?" "What is the connection between math and programming?" This session assumes basic Haskell programming literacy (specifically familiarity with type classes) but does not assume a mathematical background so you don't have to know any category theory. I will use Haskell code to motivate and explain all concepts. All examples will be real code that compiles and there won't be any mathematical notation, category theory diagrams, or pseudo-code. By the end of this session you should understand how to better apply these standard mathematical interfaces in your own code and also understand basic techniques for scaling correctness proofs.

Why it's here

1 person recommends this

What people say. Recommended as an accessible introduction to the practical benefits of category theory in programming.

u/mallaiin r/haskell • Recommends

Gabriel Gonzales: Applied category theory and abstract algebra - λC Winter Retreat 2017

u/idontgiveafin r/haskell • Mentions

…etreat 2017 Talks * Pawel Szulc: Learning FP concepts for greater good * Gabriel Gonzales: Data science APIs in Haskell * TJ Usiyan: Building a small Parser Combinator library in Swift * Julie Moronuki: Applicative and Monadic Parsing * Gabriel Gonzales: Applied category theory and abstract algebra * John DeGoes: Beyond Free Monads (link to this video * Daniel Spiewak: Fun With Parsing (link to this video * David Greenberg: Distributed functional programming * Chris Allen: A Haskell Guide for Working Stiffs * TJ Usiyan: Functional Programming and Polymorphism basics in Swift * Alejandro Serrano: Category Theory Through Functional Programming (Part 1|Part 2|Part 3) * [Scott Fleischman:…

u/HomotoWatin r/haskell • Mentions

On “Idris 1.0 Released”

> And it's annoying when you want to move some code to new function you need to always annotate it. And especially when you need to refactor this functions later. If you are commonly reusing a piece of code, then you should abstract it out into it's own function outside of a let or where binding. You'd only need to type it once. The only time I put anything in that kind of binding is if I'm certain it won't be used anywhere else. Most top-level functions that I write tend to be one-liners. I know that sort of code reuse is common in imperative settings, and Scala takes from those languages heavily, making that style attractive, but it doesn't have any real benefits in a purely-functional s…

u/Tekmoin r/haskell • Mentions

On “[Question] Help find Gabriel Gonzalez video. He talk's about using MonadMask to create configuration plugins. I might be mistaking about MonadMask thought.”

You're probably thinking about this one: * [Gabriel Gonzalez: Applied category theory and abstract algebra - λC Winter Retreat 2017]

u/heisenbugin r/haskell • Mentions

On “State addicted beginner in trouble. Forgot to pass argument through the functions.”

/u/Tekmo did tell a nice story about composable APIs, which might be interesting for your data passing needs.