Главная
Study mode:
on
1
Intro
2
Monoid typeclass
3
Example: Numbers under addition
4
Example: Functions
5
Foldable example: List
6
Foldable example: Maybe
7
Laws are important
8
Example: NonEmpty Lists
9
Example: Positive Integers
10
Introducing Semigroup
11
Semigroup instances
12
Every Monoid is a Semigroup
13
Why not Foldable?
14
Some Foldables...
15
Promoting Semigroups
16
Example: Maximum
17
What can we do with a semilattice?
18
Laws = power
19
Idempotence
20
CRDTs
21
Bounded Join-semilattice
22
Example: Set union laws
23
Wrapping up
Description:
Explore the algebraic structures of semigroups and semilattices in functional programming during this 21-minute conference talk from YOW! 2016. Delve into how these mathematical concepts, related to monoids, can be applied by programmers. Learn about their uses, familiar concretions, and the trade-offs involved in choosing the right algebraic structure for specific programming tasks. Examine examples using Haskell, including numbers under addition, functions, and foldable structures like lists and Maybe types. Discover the importance of laws in these structures and how they relate to real-world applications such as CRDTs (Conflict-free Replicated Data Types). Gain insights into promoting semigroups, understanding idempotence, and working with bounded join-semilattices, using practical examples like set union laws.

When Less is More and More is Less - Trade-Offs in Algebra

GOTO Conferences
Add to list
0:00 / 0:00