Programming with Categories - Lecture 16

preview_player
Показать описание

Lecturers: Brendan Fong, Bartosz Milewski, David Spivak

Summary: In this course we explain how category theory—a branch of mathematics known for its ability to organize the key abstractions that structure much of the mathematical universe—has become useful for writing elegant and maintainable code. In particular, we'll use examples from the Haskell programming language to motivate category-theoretic constructs, and then explain these constructs from a more abstract and inclusive viewpoint. Hands-on programming exercises will be used to demonstrate categorical ideas like "the universal property of products" in working Haskell code.

We will assume no background knowledge on behalf of the student, starting from scratch on both the programming and mathematics.

(Video: Paolo Perrone.)
Рекомендации по теме
Комментарии
Автор

In 18:35, Brendan Fong define a profunctor C ↛ D is a functor F : C^op x D → Set.
But in nlab, it define a profunctor C ↛ D is a functor of the form H_F : D^op x C → Set. (Notice C D 's inversion)
Is this distinction of arrow direction important? Or just a typo?

siyuanchen
Автор

I never get used to the style of talking about category theory without drawing any diagram

mochen
Автор

I like the class notes transcribed by davidad using Roam on his web page. Is there an easy way to print out a transcription? Thanks!

martinkjones
Автор

In most programming languages, one does not get a way to find out all the functions that exist between two objects. What would that mean? Would it be infinite, or only those functions loaded at a time. So a question that may arise is how HomSets are useable? (They do seem to be which is what is odd about this).

bblfish
Автор

After working with Haskell for some time I think I am more of a mathematician than these clowns!

michaelkohlhaas