116 Decks Ordered By View Count - Highest First - Chse one - invert order

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