19 Collections - Latest First - Ch
se one -
invert order
1 -
Drawing Heighway’s Dragon
1
Drawing Heighway’s Dragon - Part 1 - Recursive Function Rewrite - From Imperative Style in Pascal 64 To Functional Style in Scala 3
2
Drawing Heighway’s Dragon - Part 2 - Recursive Function Simplification - From 2^n Recursive Invocations To n Tail-Recursive Invocations Exploiting Self-Similarity
3
Drawing Heighway’s Dragon - Part 3 - Simplification Through Separation of Concerns - Rotation Without Matrix Multiplication
4
Drawing Heighway’s Dragon - Part 4 - Interactive and Animated Dragon Creation
2 -
Fibonacci Function Gallery
1
Fibonacci Function Gallery - Part 1
2
Fibonacci Function Gallery - Part 2
3 -
Folding Cheat Sheets
1
Folding Cheat Sheet Series Titles
2
Folding Cheat Sheet #1 - Folding over recursively defined data structures for natural numbers and lists
3
Folding Cheat Sheet #2 - Programmatic and mathematical definitions of right fold and left fold
4
Folding Cheat Sheet #3 - The universal property of fold
5
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
6
Folding Cheat Sheet #5 - Folding a list right and left using Cons and Nil results in the identity and reverse functions
7
Folding Cheat Sheet #6 - Left and right folds and tail recursion
8
Folding Cheat Sheet #7 - The three duality theorems of fold
9
Folding Cheat Sheet #8 - Folding with monoids
10
Folding Cheat Sheet #9 - List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate'
4 -
Sightings of Cats functions in Books, Courses, etc
1
A sighting of sequence function in Practical FP in Scala
2
A sighting of traverseFilter and foldMap in Practical FP in Scala
3
A sighting of traverse_ in Practical FP in Scala
4
A Sighting of filterA in Typelevel Rite of Passage
5 -
Sightings of Cats functions in Practical FP in Scala
1
A sighting of sequence function in Practical FP in Scala
2
A sighting of traverseFilter and foldMap in Practical FP in Scala
3
A sighting of traverse_ in Practical FP in Scala
6 -
Computer Graphics in Java and Scala
1
Computer Graphics in Java and Scala - Part 1
2
Computer Graphics in Java and Scala - Part 1b
7 -
The Expression Problem
1
The Expression Problem Part 1
2
The Expression Problem Part 2
8 -
Refactoring: A First Example - Martin Fowler’s First Example of Refactoring
1
Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Scala
2
Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Java
3
Side by Side - Scala and Java Adaptations of Martin Fowler’s Javascript Refactoring Example
9 -
N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala
1
N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 1
2
N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 2
3
N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 3
4
N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 4
10 -
Folding Unfolded
1
Folding Unfolded - Part 1
2
Folding Unfolded - Part 2
3
Folding Unfolded - Part 3
4
Folding Unfolded - Part 4
5
Folding Unfolded - Part 5
11 -
Game of Life - Polyglot FP - Haskell and Scala
1
Game of Life - Polyglot FP - Haskell and Scala - Part 1
2
Game of Life - Polyglot FP - Haskell and Scala - Part 2
3
Game of Life - Polyglot FP - Haskell and Scala - Part 3
12 -
Monads
1
Arrive at monads by going from composition of pure functions to composition of effectful functions
2
Monad as Functor with pair of Natural Transformations
3
Monad Laws Must Be Checked
4
Writer Monad for logging execution of functions
5
Monads do not Compose
6
Monad Transformers - Part 1
7
Addendum to `Monads do not Compose`
8
State Monad
9
The Monad Fact Series
10
Monad Fact #1
11
Monad Fact #2
12
Monad Fact #3
13
Monad Fact #4
14
Monad Fact #5
15
Monad Fact #6
16
From Scala Monadic Effects to Unison Algebraic Effects
17
Scala 3 enum for a terser Option Monad Algebraic Data Type
13 -
Monad Fact Series
1
The Monad Fact Series
2
Monad Fact #1
3
Monad Fact #2
4
Monad Fact #3
5
Monad Fact #4
6
Monad Fact #5
7
Monad Fact #6
14 -
Functional Effects
1
Functional Effects - Part 1
2
Functional Effects - Part 2
15 -
Monoids
1
Monoids - Part 1 - With examples using Scalaz and Cats
2
Monoids - Part 2 - With examples using Scalaz and Cats
16 -
Sequence and Traverse
1
Sequence and Traverse - Part 1
2
Sequence and Traverse - Part 2
3
Sequence and Traverse - Part 3
17 -
Applicative Functor
1
Applicative Functor - Part 1
2
Applicative Functor - Part 2
3
Applicative Functor - Part 3
4
Function Applicative for Great Good of Palindrome Checker Function
5
Hand Rolled Applicative User Validation Code Kata
6
Function Applicative for Great Good of Leap Year Function
18 -
Applicative Functor Series
1
Applicative Functor - Part 1
2
Applicative Functor - Part 2
3
Applicative Functor - Part 3
19 -
The Open Closed Principle
1
The Open-Closed Principle - Part 1 - The Original Version
2
The Open-Closed Principle - Part 2 - The Contemporary Version - An Introduction