111 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 6134  
2 Folding Cheat Sheet #1 - Folding over recursively defined data structures for natural numbers and lists 3021  
3 N-Queens Combinatorial Puzzle meets Cats 2544  
4 The Open-Closed Principle - Part 1 - The Original Version 2477  
5 Folding Cheat Sheet #6 - Left and right folds and tail recursion 2334  
6 Fibonacci Function Gallery - Part 2 2285  
7 List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate' 2076  
8 Folding Cheat Sheet #7 - The three duality theorems of fold 2072  
9 Fibonacci Function Gallery - Part 1 1987  
10 Function Applicative for Great Good of Leap Year Function 1946  
11 The Functional Programming Triad of map, filter and fold 1940  
12 Folding Cheat Sheet #3 - The universal property of fold 1939  
13 Folding Cheat Sheet #2 - Programmatic and mathematical definitions of right fold and left fold 1921  
14 Monad Laws Must Be Checked 1899  
15 Drawing Heighway’s Dragon - Part 1 - Recursive Function Rewrite - From Imperative Style in Pascal 64 To Functional Style in Scala 3 1814  
16 Folding Cheat Sheet #8 - Folding with monoids 1733  
17 The Open-Closed Principle - Part 2 - The Contemporary Version - An Introduction 1683  
18 Lambda Expressions and Java 8 - Lambda Calculus, Lambda Expressions, Syntactic Sugar, First Class Functions 1647  
19 A Sighting of filterA in Typelevel Rite of Passage 1640  
20 Tagless Final Encoding - Algebras and Interpreters and also Programs 1483  
21 Hand Rolled Applicative User Validation Code Kata 1393  
22 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 1351  
23 From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism - An Example 1305  
24 Compositionality and Category Theory 1248  
25 Folding Cheat Sheet #9 - List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate' 1084  
26 The Nature of Complexity in John Ousterhout’s Philosophy of Software Design 1069  
27 ApplicativeError functions handling and recovering from errors: A mnemonic to recall their signatures from their names 974  
28 The Expression Problem Part 1 904  
29 Scala Left Fold Parallelisation - Three Approaches 901  
30 Drawing Heighway’s Dragon - Part 4 - Interactive and Animated Dragon Creation 808  
31 Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Java 786  
32 Algebraic Data Types for Data Oriented Programming - From Haskell and Scala to Java 775  
33 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 1 767  
34 Drawing Heighway’s Dragon - Part 3 - Simplification Through Separation of Concerns - Rotation Without Matrix Multiplication 737  
35 Folding Cheat Sheet #5 - Folding a list right and left using Cons and Nil results in the identity and reverse functions 736  
36 Definitions of Functional Programming 709  
37 Kleisli composition, flatMap, join, map, unit - implementation and interrelation - V2 updated for Scala 3 695  
38 The Sieve of Eratosthenes - Part 2 - Genuine versus Unfaithful Sieve 690  
39 Computer Graphics in Java and Scala - Part 1 683  
40 Drawing Heighway’s Dragon - Part 2 - Recursive Function Simplification - From 2^n Recursive Invocations To n Tail-Recursive Invocations Exploiting Self-Similarity 673  
41 The Expression Problem Part 2 669  
42 Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Scala 666  
43 Applicative Functor - Part 2 649  
44 The Sieve of Eratosthenes - Part 1 646  
45 Nat, List and Option Monoids - From scratch - Combining and Folding - An example 634  
46 Kleisli Composition 633  
47 From Scala Monadic Effects to Unison Algebraic Effects 632  
48 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 3 627  
49 A sighting of traverse_ in Practical FP in Scala 616  
50 Folding Unfolded - Part 1 615  
51 Computer Graphics in Java and Scala - Part 1b 609  
52 Monad Fact #1 608  
53 Monad Fact #4 605  
54 Game of Life - Polyglot FP - Haskell and Scala - Part 1 596  
55 Applicative Functor - Part 1 595  
56 Folding Unfolded - Part 2 595  
57 Functional Core and Imperative Shell - Game of Life Example - Haskell and Scala 593  
58 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 2 592  
59 The Monad Fact Series 586  
60 Quicksort - a whistle-stop tour of the algorithm in five languages and four paradigms 583  
61 A sighting of sequence function in Practical FP in Scala 582  
62 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 4 563  
63 Side by Side - Scala and Java Adaptations of Martin Fowler’s Javascript Refactoring Example 562  
64 A sighting of traverseFilter and foldMap in Practical FP in Scala 561  
65 Scala 3 enum for a terser Option Monad Algebraic Data Type 560  
66 Monad Fact #6 553  
67 Sierpinski Triangle - Polyglot FP for Fun and Profit - Haskell and Scala 553  
68 Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 1 550  
69 The Uniform Access Principle 550  
70 Sum and Product Types - The Fruit Salad & Fruit Snack Example 546  
71 ‘go-to’ general-purpose sequential collections - from Java To Scala 544  
72 Monad Fact #3 536  
73 Arrive at monads by going from composition of pure functions to composition of effectful functions 535  
74 Fusing Transformations of Strict Scala Collections with Views 534  
75 The aggregate function - from sequential and parallel folds to parallel aggregation 533  
76 Monad Fact #2 527  
77 Folding Unfolded - Part 3 524  
78 Function Applicative for Great Good of Palindrome Checker Function 522  
79 Applicative Functor - Part 3 519  
80 Folding Unfolded - Part 4 516  
81 The Functional Programming Triad of Folding, Scanning and Iteration - A first example in Scala and Haskell 509  
82 Folding Unfolded - Part 5 509  
83 Functor Laws 509  
84 Monad Fact #5 508  
85 Game of Life - Polyglot FP - Haskell and Scala - Part 3 507  
86 The Debt Metaphor - Ward Cunningham in his 2009 YouTube video 472  
87 Functional Effects - Part 1 465  
88 Game of Life - Polyglot FP - Haskell and Scala - Part 2 463  
89 Left and Right Folds - Comparison of a mathematical definition and a programmatic one 461  
90 Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2 448  
91 Monoids - Part 1 - With examples using Scalaz and Cats 443  
92 Sequence and Traverse - Part 3 435  
93 Folding Cheat Sheet Series Titles 432  
94 Sequence and Traverse - Part 1 428  
95 Functional Effects - Part 2 427  
96 Sequence and Traverse - Part 2 415  
97 Natural Transformations 411  
98 Monoids - Part 2 - With examples using Scalaz and Cats 408  
99 State Monad 405  
100 Writer Monad for logging execution of functions 394  
101 Ad hoc Polymorphism using Type Classes and Cats 392  
102 Monads do not Compose 259  
103 Monad Transformers - Part 1 245  
104 Addendum to `Monads do not Compose` 245  
105 Function Composition - forward composition versus backward composition 241  
106 Functor Composition 235  
107 Monad as Functor with pair of Natural Transformations 234  
108 De Morgan's Laws are Monoid Homomorphisms 226  
109 Symmetry in the interrelation of flatMap/foldMap/traverse and flatten/fold/sequence 223  
110 Year when lambda functions were introduced in various languages 213  
111 Non-strict functions, bottom, and Scala by-name parameters 95