123 Decks Ordered By Slide Count - Highest First - Chse one - invert order

  1   N-Queens Combinatorial Puzzle meets Cats    386 slides     
  2   Lambda Expressions and Java 8 - Lambda Calculus, Lambda Expressions, Syntactic Sugar, First Class Functions    202 slides     
  3   Imperative Bowling Kata - 20 Years On - Delegating Menial Tasks to Github Copilot Chat - using Scala in IntelliJ IDEA    176 slides     
  4   Imperative Bowling Kata - 20 Years On - Delegating Menial Tasks to AI Coding Tool 'Claude Code'    170 slides     
  5   Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Java    95 slides     
  6   Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Scala    93 slides     
  7   State Monad    91 slides     
  8   The Open-Closed Principle - Part 1 - The Original Version    83 slides     
  9   Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2    77 slides     
  10   AI Concepts - MCP Neurons    75 slides     
  11   Function Applicative for Great Good of Palindrome Checker Function    71 slides     
  12   Game of Life - Polyglot FP - Haskell and Scala - Part 1    70 slides     
  13   ‘go-to’ general-purpose sequential collections - from Java To Scala    67 slides     
  14   Test Doubles - Terminology, Definitions and Illustrations - with Examples - Part 1    63 slides     
  15   Fibonacci Function Gallery - Part 2    62 slides     
  16   Drawing Heighway’s Dragon - Part 2 - Recursive Function Simplification - From 2^n Recursive Invocations To n Tail-Recursive Invocations Exploiting Self-Similarity    62 slides     
  17   Folding Unfolded - Part 1    58 slides     
  18   Sierpinski Triangle - Polyglot FP for Fun and Profit - Haskell and Scala    58 slides     
  19   N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 2    58 slides     
  20   The Sieve of Eratosthenes - Part 2 - Genuine versus Unfaithful Sieve    57 slides     
  21   Combinatorial Interview Problems with Backtracking Solutions - from Procedural to Functional Programming - Part 1    57 slides     
  22   The Bowling Game - From Imperative to Functional Programming - Part 1    57 slides     
  23   Game of Life - Polyglot FP - Haskell and Scala - Part 2    55 slides     
  24   N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 4    55 slides     
  25   Ad hoc Polymorphism using Type Classes and Cats    54 slides     
  26   Folding Unfolded - Part 4    54 slides     
  27   Folding Unfolded - Part 3    53 slides     
  28   Game of Life - Polyglot FP - Haskell and Scala - Part 3    52 slides     
  29   The Functional Programming Triad of map, filter and fold    51 slides     
  30   The Sieve of Eratosthenes - Part 1    50 slides     
  31   List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate'    50 slides     
  32   Folding Unfolded - Part 5    48 slides     
  33   The Bowling Game - From Imperative to Functional Programming - Part 2    48 slides     
  34   The Expression Problem Part 1    47 slides     
  35   Combinatorial Interview Problems with Backtracking Solutions - from Procedural to Functional Programming - Part 2    47 slides     
  36   Folding Unfolded - Part 2    46 slides     
  37   Algebraic Data Types for Data Oriented Programming - From Haskell and Scala to Java    46 slides     
  38   Drawing Heighway’s Dragon - Part 4 - Interactive and Animated Dragon Creation    46 slides     
  39   Applicative Functor - Part 2    44 slides     
  40   From Scala Monadic Effects to Unison Algebraic Effects    44 slides     
  41   Scala Left Fold Parallelisation - Three Approaches    44 slides     
  42   The Open-Closed Principle - Part 2 - The Contemporary Version - An Introduction    40 slides     
  43   Monoids - Part 2 - With examples using Scalaz and Cats    40 slides     
  44   Monoids - Part 1 - With examples using Scalaz and Cats    39 slides     
  45   Functional Effects - Part 2    39 slides     
  46   Folding Cheat Sheet #8 - Folding with monoids    39 slides     
  47   Applicative Functor - Part 3    38 slides     
  48   Fibonacci Function Gallery - Part 1    38 slides     
  49   Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid    37 slides     
  50   Sequence and Traverse - Part 1    36 slides     
  51   Drawing Heighway’s Dragon - Part 1 - Recursive Function Rewrite - From Imperative Style in Pascal 64 To Functional Style in Scala 3    36 slides     
  52   The Expression Problem Part 2    35 slides     
  53   ApplicativeError functions handling and recovering from errors: A mnemonic to recall their signatures from their names    35 slides     
  54   N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 1    34 slides     
  55   Kleisli Composition    33 slides     
  56   Sequence and Traverse - Part 2    33 slides     
  57   Sequence and Traverse - Part 3    33 slides     
  58   Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 1    33 slides     
  59   The Functional Programming Triad of Folding, Scanning and Iteration - A first example in Scala and Haskell    31 slides     
  60   The aggregate function - from sequential and parallel folds to parallel aggregation    31 slides     
  61   Monads do not Compose    30 slides     
  62   Non-strict functions, bottom, and Scala by-name parameters    30 slides     
  63   Drawing Heighway’s Dragon - Part 3 - Simplification Through Separation of Concerns - Rotation Without Matrix Multiplication    29 slides     
  64   Monad Transformers - Part 1    28 slides     
  65   Quicksort - a whistle-stop tour of the algorithm in five languages and four paradigms    28 slides     
  66   Computer Graphics in Java and Scala - Part 1b    28 slides     
  67   Fusing Transformations of Strict Scala Collections with Views    28 slides     
  68   N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 3    27 slides     
  69   Computer Graphics in Java and Scala - Part 1    25 slides     
  70   Function Applicative for Great Good of Leap Year Function    25 slides     
  71   From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism - An Example    25 slides     
  72   Monad Fact #4    24 slides     
  73   Folding Cheat Sheet #9 - List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate'    24 slides     
  74   A Sighting of filterA in Typelevel Rite of Passage    23 slides     
  75   The Uniform Access Principle    22 slides     
  76   Abstracting over Execution with Higher Kinded Types, and how to remain Purely Functional    21 slides     
  77   Scala 3 enum for a terser Option Monad Algebraic Data Type    21 slides     
  78   Folding Cheat Sheet #7 - The three duality theorems of fold    21 slides     
  79   The Nature of Complexity in John Ousterhout’s Philosophy of Software Design    21 slides     
  80   Monad as Functor with pair of Natural Transformations    20 slides     
  81   Point-free or Die - Tacit Programming in Haskell    19 slides     
  82   Applicative Functor - Part 1    19 slides     
  83   Functor Composition    19 slides     
  84   Sum and Product Types - The Fruit Salad & Fruit Snack Example    19 slides     
  85   Monad Fact #6    18 slides     
  86   Compositionality and Category Theory    17 slides     
  87   Monad Fact #5    17 slides     
  88   Monad Fact #3    16 slides     
  89   Kleisli composition, flatMap, join, map, unit - implementation and interrelation - V2 updated for Scala 3    16 slides     
  90   Tagless Final Encoding - Algebras and Interpreters and also Programs    16 slides     
  91   Writer Monad for logging execution of functions    14 slides     
  92   Left and Right Folds - Comparison of a mathematical definition and a programmatic one    14 slides     
  93   Functor Laws    13 slides     
  94   Functional Core and Imperative Shell - Game of Life Example - Haskell and Scala    13 slides     
  95   Side by Side - Scala and Java Adaptations of Martin Fowler’s Javascript Refactoring Example    13 slides     
  96   Nat, List and Option Monoids - From scratch - Combining and Folding - An example    12 slides     
  97   Folding Cheat Sheet #6 - Left and right folds and tail recursion    12 slides     
  98   The Debt Metaphor - Ward Cunningham in his 2009 YouTube video    11 slides     
  99   Monad Fact #2    9 slides     
  100   Natural Transformations    8 slides     
  101   Monad Laws Must Be Checked    8 slides     
  102   Functional Effects - Part 1    8 slides     
  103   Monad Fact #1    8 slides     
  104   Folding Cheat Sheet #4 - For functions that can be defined both as a right fold and as a left fold, one may be more efficient than the other    8 slides     
  105   Definitions of Functional Programming    7 slides     
  106   Arrive at monads by going from composition of pure functions to composition of effectful functions    6 slides     
  107   A sighting of traverseFilter and foldMap in Practical FP in Scala    6 slides     
  108   Folding Cheat Sheet #3 - The universal property of fold    6 slides     
  109   Hand Rolled Applicative User Validation Code Kata    6 slides     
  110   A sighting of traverse_ in Practical FP in Scala    5 slides     
  111   Addendum to `Monads do not Compose`    4 slides     
  112   The Monad Fact Series    4 slides     
  113   A sighting of sequence function in Practical FP in Scala    4 slides     
  114   Folding Cheat Sheet #2 - Programmatic and mathematical definitions of right fold and left fold    4 slides     
  115   Folding Cheat Sheet #1 - Folding over recursively defined data structures for natural numbers and lists    3 slides     
  116   Year when lambda functions were introduced in various languages    2 slides     
  117   Symmetry in the interrelation of flatMap/foldMap/traverse and flatten/fold/sequence    2 slides     
  118   The Functional Programming Triad of fold, scan and iterate    2 slides     
  119   Folding Cheat Sheet #5 - Folding a list right and left using Cons and Nil results in the identity and reverse functions    2 slides     
  120   De Morgan's Laws are Monoid Homomorphisms    1 slides     
  121   Function Composition - forward composition versus backward composition    1 slides     
  122   Defining filter using (a) recursion (b) folding (c) folding with S, B and I combinators (d) folding with applicative functor and identity function    1 slides     
  123   Folding Cheat Sheet Series Titles    1 slides