YoVDO

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

Offered By: GOTO Conferences via YouTube

Tags

GOTO Conferences Courses Programming Courses Algebra Courses Functional Programming Courses Monoids Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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.

Syllabus

Intro
Monoid typeclass
Example: Numbers under addition
Example: Functions
Foldable example: List
Foldable example: Maybe
Laws are important
Example: NonEmpty Lists
Example: Positive Integers
Introducing Semigroup
Semigroup instances
Every Monoid is a Semigroup
Why not Foldable?
Some Foldables...
Promoting Semigroups
Example: Maximum
What can we do with a semilattice?
Laws = power
Idempotence
CRDTs
Bounded Join-semilattice
Example: Set union laws
Wrapping up


Taught by

GOTO Conferences

Related Courses

4ever-clojure
Independent
Advanced Programming in Kotlin
Meta via Coursera
Programación avanzada en Kotlin
Meta via Coursera
البرمجة المتقدمة بلغة Swift
Meta via Coursera
Programación avanzada en Swift
Meta via Coursera