1 
From Subtype Polymorphism To Typeclassbased Ad hoc Polymorphism  An Example 
25 slides 


2 
Folding Cheat Sheet #8 
39 slides 



3 
Function Applicative for Great Good of Leap Year Function 
25 slides 



4 
Folding Cheat Sheet #7 
21 slides 



5 
Folding Cheat Sheet #6 
12 slides 



6 
Folding Cheat Sheet #5 
2 slides 


7 
Hand Rolled Applicative User Validation Code Kata 
6 slides 


8 
A Sighting of filterA in Typelevel Rite of Passage 
23 slides 


9 
Direct Style Effect Systems  The Print[A] Example  A Comprehension Aid 
37 slides 



10 
Folding Cheat Sheet #4 
8 slides 



11 
Folding Cheat Sheet #3 
6 slides 


12 
Folding Cheat Sheet #2 
4 slides 


13 
Folding Cheat Sheet #1 
3 slides 


14 
Folding Cheat Sheet Series Titles 
1 slides 



15 
Scala Left Fold Parallelisation  Three Approaches 
44 slides 


16 
Tagless Final Encoding  Algebras and Interpreters and also Programs 
16 slides 


17 
Fusing Transformations of Strict Scala Collections with Views 
28 slides 


18 
A sighting of traverse_ in Practical FP in Scala 
5 slides 


19 
A sighting of traverseFilter and foldMap in Practical FP in Scala 
6 slides 


20 
A sighting of sequence function in Practical FP in Scala 
4 slides 


21 
NQueens Combinatorial Puzzle meets Cats 
386 slides 



22 
Kleisli composition, flatMap, join, map, unit  implementation and interrelation  V2 updated for Scala 3 
16 slides 



23 
The aggregate function  from sequential and parallel folds to parallel aggregation 
31 slides 



24 
Nat, List and Option Monoids  From scratch  Combining and Folding  An example 
12 slides 



25 
The Sieve of Eratosthenes  Part 2  Genuine versus Unfaithful Sieve 
57 slides 



26 
Sum and Product Types  The Fruit Salad & Fruit Snack Example 
19 slides 





27 
Algebraic Data Types for Data Oriented Programming  From Haskell and Scala to Java 
46 slides 




28 
The Sieve of Eratosthenes  Part 1 
50 slides 





29 
The Uniform Access Principle 
22 slides 


30 
Computer Graphics in Java and Scala  Part 1b 
28 slides 



31 
The Expression Problem Part 2 
35 slides 



32 
Computer Graphics in Java and Scala  Part 1 
25 slides 



33 
The Expression Problem Part 1 
47 slides 




34 
Side by Side  Scala and Java Adaptations of Martin Fowler’s Javascript Refactoring Example 
13 slides 



35 
Refactoring: A First Example  Martin Fowler’s First Example of Refactoring, Adapted to Java 
95 slides 


36 
Refactoring: A First Example  Martin Fowler’s First Example of Refactoring, Adapted to Scala 
93 slides 


37 
‘goto’ generalpurpose sequential collections  from Java To Scala 
67 slides 



38 
The Functional Programming Triad of map, filter and fold 
51 slides 






39 
Functional Core and Imperative Shell  Game of Life Example  Haskell and Scala 
13 slides 



40 
NQueens Combinatorial Problem  Polyglot FP for Fun and Profit – Haskell and Scala  Part 4 
55 slides 



41 
Quicksort  a whistlestop tour of the algorithm in five languages and four paradigms 
28 slides 







42 
NQueens Combinatorial Problem  Polyglot FP for Fun and Profit – Haskell and Scala  Part 3 
27 slides 



43 
Left and Right Folds  Comparison of a mathematical definition and a programmatic one 
14 slides 



44 
NQueens Combinatorial Problem  Polyglot FP for Fun and Profit – Haskell and Scala  Part 2 
58 slides 



45 
NQueens Combinatorial Problem  Polyglot FP for Fun and Profit – Haskell and Scala  Part 1 
34 slides 



46 
Sierpinski Triangle  Polyglot FP for Fun and Profit  Haskell and Scala 
58 slides 



47 
Function Applicative for Great Good of Palindrome Checker Function 
71 slides 



48 
Scala 3 enum for a terser Option Monad Algebraic Data Type 
21 slides 


49 
Folding Unfolded  Part 5 
48 slides 



50 
The Functional Programming Triad of Folding, Scanning and Iteration  A first example in Scala and Haskell 
31 slides 



51 
Folding Unfolded  Part 4 
54 slides 



52 
Folding Unfolded  Part 3 
53 slides 



53 
Folding Unfolded  Part 2 
46 slides 



54 
Folding Unfolded  Part 1 
58 slides 



55 
Game of Life  Polyglot FP  Haskell and Scala  Part 3 
52 slides 



56 
Game of Life  Polyglot FP  Haskell and Scala  Part 2 
55 slides 



57 
Game of Life  Polyglot FP  Haskell and Scala  Part 1 
70 slides 



58 
Scala 3 by Example  Algebraic Data Types for Domain Driven Design  Part 2 
77 slides 



59 
From Scala Monadic Effects to Unison Algebraic Effects 
44 slides 



60 
Monad Fact #6 
18 slides 



61 
Monad Fact #5 
17 slides 


62 
Monad Fact #4 
24 slides 


63 
Monad Fact #3 
16 slides 


64 
Monad Fact #2 
9 slides 


65 
Monad Fact #1 
8 slides 


66 
The Monad Fact Series 
4 slides 



67 
Scala 3 by Example  Algebraic Data Types for Domain Driven Design  Part 1 
33 slides 



68 
State Monad 
91 slides 


69 
Applicative Functor  Part 3 
38 slides 



70 
Applicative Functor  Part 2 
44 slides 



71 
Functional Effects  Part 2 
39 slides 


72 
Functional Effects  Part 1 
8 slides 


73 
Ad hoc Polymorphism using Type Classes and Cats 
54 slides 


74 
Sequence and Traverse  Part 3 
33 slides 


75 
Sequence and Traverse  Part 2 
33 slides 


76 
Monoids  Part 2  With examples using Scalaz and Cats 
40 slides 


77 
Monoids  Part 1  With examples using Scalaz and Cats 
39 slides 



78 
Definitions of Functional Programming 
7 slides 


79 
Sequence and Traverse  Part 1 
36 slides 


80 
Applicative Functor  Part 1 
19 slides 



81 
Writer Monad for logging execution of functions 
14 slides 



82 
Kleisli Composition 
33 slides 



83 
Monad Laws Must Be Checked 
13 slides 



84 
Natural Transformations 
8 slides 



85 
Functor Laws 
13 slides 


86 
Compositionality and Category Theory 
17 slides 


87 
Arrive at monads by going from composition of pure functions to composition of effectful functions 
6 slides 

