1 
Compositionality and Category Theory 
17 slides 


2 
Functor Laws 
13 slides 


3 
Monad Laws Must Be Checked 
13 slides 



4 
Kleisli Composition 
33 slides 



5 
Applicative Functor 
19 slides 



6 
Definitions of Functional Programming 
7 slides 


7 
Applicative Functor  Part 2 
44 slides 



8 
Applicative Functor  Part 3 
38 slides 



9 
The Monad Fact Series 
4 slides 



10 
Monad Fact #1 
8 slides 


11 
Monad Fact #2 
9 slides 


12 
Monad Fact #3 
16 slides 


13 
Monad Fact #4 
24 slides 


14 
Monad Fact #5 
17 slides 


15 
Monad Fact #6 
18 slides 



16 
From Scala Monadic Effects to Unison Algebraic Effects 
44 slides 



17 
Scala 3 by Example  Algebraic Data Types for Domain Driven Design  Part 1 
34 slides 



18 
Folding Unfolded 
58 slides 



19 
Folding Unfolded  Part 2 
46 slides 



20 
Folding Unfolded  Part 3 
53 slides 



21 
Folding Unfolded  Part 4 
54 slides 



22 
Folding Unfolded  Part 5 
48 slides 



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



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



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



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



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







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



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



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






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



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


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


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



35 
The Expression Problem Part 1 
47 slides 




36 
Computer Graphics in Java and Scala  Part 1 
25 slides 



37 
The Expression Problem Part 2 
35 slides 



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



39 
The Uniform Access Principle 
22 slides 


40 
The Sieve of Eratosthenes  Part 1 
50 slides 





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




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





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



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



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



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



47 
NQueens Combinatorial Puzzle meets Cats 
386 slides 



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


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


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


51 
Fusing Transformations of Strict Scala Collections with Views 
28 slides 


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


53 
Scala Left Fold Parallelisation  Three Approaches 
44 slides 


54 
Folding Cheat Sheet #1 
3 slides 


55 
Folding Cheat Sheet #2 
4 slides 


56 
Folding Cheat Sheet #3 
6 slides 

