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