🦀 Functional Rust

Learn Rust through OCaml's Functional Programming Patterns

📚 1085 examples 🎯 5 levels 🗂️ 21 topics 🛤️ 6 paths
📚
All Examples
Browse the full library.
1085 examples
🌱
Foundations
Start here — lists, recursion, pattern matching, Option/Result.
166 examples
🌿
Intermediate
Level up — monads, traits, iterators, error handling patterns.
351 examples
🌲
Advanced
Go deep — each example explains why the concept exists before showing code.
346 examples
🔥
Expert
Category theory made concrete — every abstract idea grounded in working Rust.
155 examples
Master
The frontier — powerful patterns explained from first principles, no prior background needed.
67 examples
#001
Applying a Function Twice
Foundations 🟢 First Steps ⚙️ Design Notes
#001
001-higher-order-functions — Higher Order Functions
Foundations 🟢 First Steps ⚙️ Design Notes
#001
001 — Last Element of a List
Foundations 🟢 First Steps ⚙️ Design Notes
#002
Function Composition
Foundations 🟢 First Steps ⚙️ Design Notes
#002
Last Two Elements
Foundations 🟢 First Steps ⚙️ Design Notes
#002
002-list-operations — List Operations
Foundations 🟢 First Steps ⚙️ Design Notes
#003
K-th Element
Foundations 🟢 First Steps ⚙️ Design Notes
#003
003-pattern-matching — Pattern Matching
Foundations 🧩 Pattern Matching 🟢 First Steps ⚙️ Design Notes
#003
Pipeline Operator
Foundations 🟢 First Steps ⚙️ Design Notes
#004
List Length
Foundations 🟢 First Steps ⚙️ Design Notes
#004
List Map From Scratch
Intermediate 🌱 Foundations 🟢 First Steps ⚙️ Design Notes
#004
004-option-result — Option Result
Foundations 🟢 First Steps ⚙️ Design Notes
#005
Currying and Partial Application
Intermediate 🌱 Foundations 🟢 First Steps ⚙️ Design Notes
#005
List Filter From Scratch
Intermediate 🌱 Foundations 🟢 First Steps ⚙️ Design Notes
#005
005-reverse-list — Reverse List
Foundations 🟢 First Steps ⚙️ Design Notes
#006
006: Function Composition
Intermediate 🌱 Foundations ⚙️ Design Notes
#006
006: Palindrome Check
Foundations ⚙️ Design Notes
#007
007: Flatten Nested List
Intermediate 🌱 Foundations ⚙️ Design Notes
#008
008: Eliminate Consecutive Duplicates
Foundations 🟢 First Steps ⚙️ Design Notes
#009
009: Pack Consecutive Duplicates
Intermediate 🌱 Foundations ⚙️ Design Notes
#010
010: Run-Length Encoding
Intermediate 🌱 Foundations ⚙️ Design Notes
#011
Modified Run-Length Encoding
Intermediate 🌱 Foundations ⚙️ Design Notes
#012
Decode Run-Length Encoding
Intermediate 🌱 Foundations ⚙️ Design Notes
#013
Direct Run-Length Encoding
Intermediate 🌱 Foundations ⚙️ Design Notes
#014
Duplicate Elements
Foundations ⚙️ Design Notes
#015
Replicate Elements N Times
Foundations ⚙️ Design Notes
#016
016: Drop Every Nth
Foundations
#017
017: Split List
Foundations
#018
018: Slice List
Foundations
#019
019: Rotate Left
Foundations
#020
020: Remove Kth
Foundations
#021
021: Insert At
Foundations
#022
022: Range
Foundations
#023
023: Random Select
Foundations
#024
024: Lotto Draw
Foundations
#025
025: Random Permutation
Intermediate 🌱 Foundations
#026
026: Combinations
Intermediate 🌱 Foundations
#027
027: Group By Size
Advanced 🌱 Foundations
#028
028: Sort By Length
Foundations
#029
029: Binary Tree
Foundations
#030
030: Count Leaves
Foundations
#031
031: Collect Leaves
Foundations
#032
032: Internal Nodes
Foundations
#033
033: At Level
Foundations
#034
034: Complete Binary Tree
Foundations
#035
035: Layout Binary Tree
Intermediate 🌱 Foundations
#036
036: Tree String
Intermediate 🌱 Foundations
#037
037: Tree Preorder
Foundations
#038
038: Tree Inorder
Foundations
#039
039: Dotstring Tree
Intermediate 🌱 Foundations
#040
040: Dotstring Parse
Intermediate 🌱 Foundations
#041
041: Option Basics
Foundations
#042
042: Option Map
Foundations
#043
043: Option Bind
Intermediate 🌱 Foundations
#044
044: Option Filter
Foundations
#045
045: Result Basics
Foundations
#046
046: Result Map
Foundations
#047
047: Result Bind
Foundations
#048
048: Error Propagation
Foundations ⚠️ Error Handling
#049
049: Error Conversion
Foundations ⚠️ Error Handling
#050
050: Custom Error Types
Foundations ⚠️ Error Handling
#051
051: Applying a Function Twice
Foundations ⚙️ Design Notes
#052
052: Function Composition
Foundations 🟢 First Steps ⚙️ Design Notes
#053
053: Pipeline Operator
Foundations ⚙️ Design Notes
#054
054: Applicative Validation
Intermediate 🌱 Foundations ⚙️ Design Notes
#054
054: List Map from Scratch
Foundations ⚙️ Design Notes
#055
055: List Filter from Scratch
Foundations ⚙️ Design Notes
#056
056: Fold Right
Intermediate 🌱 Foundations ⚙️ Design Notes
#056
056: Result as Monad
Intermediate 🌱 Foundations ⚙️ Design Notes
#057
057: Fold Left
Intermediate 🌱 Foundations ⚙️ Design Notes
#058
058: Variants — Days of the Week
Foundations ⚙️ Design Notes
#059
059: Expression Tree
Intermediate 🌱 Foundations ⚙️ Design Notes
#060
060: Option — Safe List Maximum
Foundations ⚙️ Design Notes
#061
Binary Tree — Size, Membership, Traversal
Intermediate 🌱 Foundations ⚙️ Design Notes
#062
062: Isogram Check
Foundations ⚙️ Design Notes
#062
062: Records and Structs
Foundations ⚙️ Design Notes
#063
063: Run-Length Encoding
Foundations ⚙️ Design Notes
#063
063: Stack Module
Intermediate 🌱 Foundations ⚙️ Design Notes
#064
064: Balanced Parentheses
Foundations ⚙️ Design Notes
#065
Association List — Functional Key-Value Store
Foundations ⚙️ Design Notes
#066
066 — Phantom Types
Advanced 🌱 Foundations ⚙️ Design Notes
#067
067: Lazy Sequences
Intermediate 🌱 Foundations ⚙️ Design Notes
#068
068: Frequency Counter
Foundations ⚙️ Design Notes
#068
068: Tail-Recursive Accumulator
Intermediate 🌱 Foundations ⚙️ Design Notes
#069
Sieve of Eratosthenes (Functional)
Intermediate 🌱 Foundations ⚙️ Design Notes
#069
069: Unfold (Anamorphism)
Intermediate 🌱 Foundations ⚙️ Design Notes
#070
Hamming Distance
Foundations ⚙️ Design Notes
#070
070: Scan Left
Intermediate 🌱 Foundations ⚙️ Design Notes
#071
Collatz Conjecture
Foundations ⚙️ Design Notes
#071
071: GCD and LCM
Foundations ⚙️ Design Notes
#072
072: Error Accumulation
Intermediate 🌱 Foundations
#072
072: Railway-Oriented Programming
Intermediate 🌱 Foundations ⚙️ Design Notes
#073
073: Topological Sort
Advanced 🌱 Foundations ⚙️ Design Notes
#073
073: Parse Don't Validate (Validated Types)
Intermediate 🌱 Foundations ⚙️ Design Notes
#074
074: Bifunctor — Mapping Over Two Type Parameters
Intermediate 🌱 Foundations
#074
074: Currying and Partial Application
Intermediate 🌱 Foundations ⚙️ Design Notes
#075
075: Difference List
Intermediate 🌱 Foundations ⚙️ Design Notes
#075
075: Merge Sort
Intermediate 🌱 Foundations ⚙️ Design Notes
#076
076: GCD and LCM — Euclidean Algorithm
Intermediate 🌱 Foundations ⚙️ Design Notes
#076
076: Trait Objects
Intermediate 🌱 Foundations ⚙️ Design Notes
#077
077: Generic Bounds
Intermediate 🌱 Foundations ⚙️ Design Notes
#077
077: Matrix Operations — Functional 2D
Advanced 🌱 Foundations ⚙️ Design Notes
#078
078: Topological Sort — DAG Ordering
Advanced 🌱 Foundations ⚙️ Design Notes
#078
078: Where Clauses
Intermediate 🌱 Foundations ⚙️ Design Notes
#079
079: Associated Types
Intermediate 🌱 Foundations ⚙️ Design Notes
#079
079: Lambda Calculus Interpreter
Expert 🌱 Foundations ⚙️ Design Notes
#080
080: Catamorphism — Generalized Fold
Expert 🌱 Foundations ⚙️ Design Notes
#081
081: Difference List — O(1) Append
Intermediate 🌱 Foundations ⚙️ Design Notes
#081
081: Newtype Pattern
Intermediate 🌱 Foundations ⚙️ Design Notes
#082
082: Nucleotide Count — Bioinformatics
Foundations ⚙️ Design Notes
#082
082: Type Aliases
Foundations 🔒 Type System ⚙️ Design Notes
#083
083: Display Trait
Intermediate 🌱 Foundations ⚙️ Design Notes
#083
083: Robot Simulator — State with Immutable Records
Intermediate 🌱 Foundations ⚙️ Design Notes
#084
084: From and Into Traits
Intermediate 🌱 Foundations ⚙️ Design Notes
#084
084: Phone Number Parser — Validation Pipeline
Intermediate 🌱 Foundations ⚙️ Design Notes
#085
085: Accumulate — Custom Map
Foundations ⚙️ Design Notes
#085
085: Iterator Trait
Intermediate 🌱 Foundations ⚙️ Design Notes
#086
086: Custom Iterator with State
Intermediate 🌱 Foundations ⚙️ Design Notes
#086
086: Space Age — Float Computation
Foundations ⚙️ Design Notes
#087
087: Difference of Squares
Foundations ⚙️ Design Notes
#087
087: Iterator Adapters
Intermediate 🌱 Foundations ⚙️ Design Notes
#088
088: Allergies — Bitflag Decoding
Foundations ⚙️ Design Notes
#088
088: Iterator Consumers
Foundations ⚙️ Design Notes
#089
089: Bob — String Pattern Matching
Foundations ⚙️ Design Notes
#089
089: Lazy Sequences
Intermediate 🌱 Foundations ⚙️ Design Notes
#090
Frequency Analysis — Letter Distribution
Intermediate 🌱 Foundations ⚙️ Design Notes
#090
090: Infinite Iterators
Intermediate 🌱 Foundations ⚙️ Design Notes
#091
091: Caesar Cipher
Intermediate 🌱 Foundations ⚙️ Design Notes
#091
091: Zip Unzip
Intermediate 🌱 Foundations ⚙️ Design Notes
#092
092: Pangram Check
Foundations ⚙️ Design Notes
#092
092: Scan Accumulate
Intermediate 🌱 Foundations ⚙️ Design Notes
#093
093: Isogram Check
Foundations ⚙️ Design Notes
#093
093: Windows Chunks
Intermediate 🌱 Foundations ⚙️ Design Notes
#094
094: Peekable Iterator
Intermediate 🌱 Foundations 🟢 First Steps ⚙️ Design Notes
#094
094: Run-Length Encoding
Foundations 🟢 First Steps ⚙️ Design Notes
#095
095: Balanced Parentheses
Foundations ⚙️ Design Notes
#095
095: Double Ended
Intermediate 🌱 Foundations ⚙️ Design Notes
#096
096: Exact Size
Intermediate 🌱 Foundations ⚙️ Design Notes
#096
096: Recursive Descent Parser
Advanced 🌱 Foundations ⚙️ Design Notes
#097
097: Flatten Iterator
Intermediate 🌱 Foundations ⚙️ Design Notes
#097
097: Zipper — Functional List Cursor
Advanced 🌱 Foundations ⚙️ Design Notes
#098
098: Church Numerals — Functions as Numbers
Advanced 🌱 Foundations ⚙️ Design Notes
#098
098: Partition Iterator
Intermediate 🌱 Foundations ⚙️ Design Notes
#099
099: CPS — Continuation-Passing Style
Advanced 🌱 Foundations ⚙️ Design Notes
#099
099: Group By Iter
Intermediate 🌱 Foundations ⚙️ Design Notes
#100
Dijkstra's Shortest Path
Advanced 🌱 Foundations
#100
100: Phantom Types — Type-Safe Units
Advanced 🌱 Foundations ⚙️ Design Notes
#100
100: Step By
Foundations ⚙️ Design Notes
#101
101: Lazy Sequences
Intermediate 🌱 Foundations ⚙️ Design Notes
#101
101: Move Semantics
Intermediate 🌱 Foundations ⚙️ Design Notes
#102
102: Clone Copy
Intermediate 🔒 Type System ⚙️ Design Notes
#102
102: Frequency Counter
Foundations ⚙️ Design Notes
#103
103: Borrowing Shared
Intermediate 🌱 Foundations ⚙️ Design Notes
#103
103: Unfold — Generating Sequences from Seeds
Intermediate 🌱 Foundations ⚙️ Design Notes
#104
104: Borrowing Mutable
Intermediate 🌱 Foundations ⚙️ Design Notes
#104
104: Scan Left — Running Accumulation
Foundations ⚙️ Design Notes
#105
105: Lifetime Basics
Intermediate 🔒 Type System ⚙️ Design Notes
#105
105: Trie — Prefix Tree for Strings
Advanced 🌱 Foundations ⚙️ Design Notes
#106
106: Lifetime Elision
Intermediate 🔒 Type System ⚙️ Design Notes
#107
107: Lifetimes in Structs
Advanced 🔒 Type System ⚙️ Design Notes
#108
108: Rc\ — Shared Ownership
Intermediate 🌱 Foundations ⚙️ Design Notes
#109
109: Arc\ — Thread-Safe Shared Ownership
Intermediate 🌱 Foundations ⚙️ Design Notes
#110
110: Cell\ — Interior Mutability for Copy Types
Intermediate 🌱 Foundations ⚙️ Design Notes
#111
111: RefCell\ — Runtime Borrow Checking
Intermediate 🌱 Foundations ⚙️ Design Notes
#112
112: Cow\ — Clone on Write
Intermediate 📦 Data Structures ⚙️ Design Notes
#113
113: String vs &str
Intermediate 📝 Strings & Text ⚙️ Design Notes
#114
114: Slice Patterns
Intermediate 🌱 Foundations ⚙️ Design Notes
#115
115: Vec Operations Functionally
Intermediate 🌱 Foundations ⚙️ Design Notes
#116
116: Box\ — Heap Allocation
Intermediate 🌱 Foundations ⚙️ Design Notes
#117
117: Recursive Types with Box
Intermediate 🌱 Foundations ⚙️ Design Notes
#118
118: Deref Coercions
Intermediate 🔒 Type System ⚙️ Design Notes
#119
119: Zero-Cost Abstractions
Intermediate 🌱 Foundations ⚙️ Design Notes
#120
120: Fn, FnMut, FnOnce
Advanced ⚙️ Closures & FP ⚙️ Design Notes
#121
121: Closure Capture Modes
Intermediate ⚙️ Closures & FP ⚙️ Design Notes
#122
122: Higher-Order Functions with Lifetime Constraints
Advanced 🌱 Foundations ⚙️ Design Notes
#123
123: impl Trait
Intermediate 🔒 Type System ⚙️ Design Notes
#124
124: dyn Trait — Dynamic Dispatch
Advanced 🌱 Foundations ⚙️ Design Notes
#125
125: Send and Sync
Advanced 🧵 Concurrency ⚙️ Design Notes
#126
126: Const Generics
Intermediate 🔒 Type System ⚙️ Design Notes
#127
127: Const Functions
Intermediate 🌱 Foundations ⚙️ Design Notes
#128
128: Type-Level Booleans
Advanced 🌱 Foundations ⚙️ Design Notes
#129
129: Type-Level Natural Numbers
Advanced 🌱 Foundations ⚙️ Design Notes
#130
130: Typestate Pattern
Advanced 🔒 Type System ⚙️ Design Notes
#131
131: Builder Pattern with Typestate
Advanced 🌱 Foundations ⚙️ Design Notes
#132
132: Phantom Units of Measure
Intermediate 🔒 Type System ⚙️ Design Notes
#133
133: Variance
Advanced 🌱 Foundations ⚙️ Design Notes
#134
134: Higher-Kinded Types Simulation
Advanced 🔒 Type System ⚙️ Design Notes
#135
135: Generic Newtype Patterns
Intermediate 🌱 Foundations ⚙️ Design Notes
#136
136: Existential Types
Advanced 🌱 Foundations ⚙️ Design Notes
#137
137: Rank-2 Types
Advanced 🌱 Foundations ⚙️ Design Notes
#138
138: Type Witnesses / GADT Encoding
Advanced 🌱 Foundations ⚙️ Design Notes
#139
139: HList — Heterogeneous List
Advanced 🌱 Foundations ⚙️ Design Notes
#140
140: Type-Safe Printf
Expert 🌱 Foundations ⚙️ Design Notes
#141
141: Singleton Types
Expert 🌱 Foundations ⚙️ Design Notes
#142
142: Type Equality Witnesses
Master 🌱 Foundations ⚙️ Design Notes
#143
143: Associated Type Bounds
Expert 🔒 Type System ⚙️ Design Notes
#144
144: GAT Basics — Generic Associated Types
Expert 🌱 Foundations ⚙️ Design Notes
#145
145: GAT Collections — Generic Associated Types
Master 🌱 Foundations ⚙️ Design Notes
#146
146: Opaque Types — Hiding Implementation Details
Advanced 🌱 Foundations ⚙️ Design Notes
#147
147: Type Erasure
Expert 🌱 Foundations ⚙️ Design Notes
#148
148: Sealed Traits
Advanced 🔒 Type System ⚙️ Design Notes
#149
149: Extension Traits
Advanced 🔒 Type System ⚙️ Design Notes
#150
150: Coherence Rules — One Implementation Per Type
Expert 🔒 Type System ⚙️ Design Notes
#151
151: Introduction to Parser Combinators
Advanced 🌱 Foundations ⚙️ Design Notes
#152
152: Character Parsers
Advanced 🌱 Foundations ⚙️ Design Notes
#153
153: Satisfy Parser
Advanced 🌱 Foundations ⚙️ Design Notes
#154
154: String Parser
Advanced 📝 Strings & Text ⚙️ Design Notes
#155
155: Many Parser
Advanced 🌱 Foundations ⚙️ Design Notes
#156
156: Optional Parser
Advanced 🌱 Foundations ⚙️ Design Notes
#157
157: Choice Parser
Advanced 🌱 Foundations ⚙️ Design Notes
#158
158: Sequence Parser
Advanced 🌱 Foundations ⚙️ Design Notes
#159
159: Map Parser
Advanced 🌱 Foundations ⚙️ Design Notes
#160
160: FlatMap Parser
Advanced 🌱 Foundations ⚙️ Design Notes
#161
161: Digit Parser
Advanced 🌱 Foundations ⚙️ Design Notes
#162
162: Identifier Parser
Advanced 🌱 Foundations ⚙️ Design Notes
#163
163: Whitespace Parser
Advanced 🌱 Foundations ⚙️ Design Notes
#164
164: Number Parser
Advanced 🌱 Foundations ⚙️ Design Notes
#165
165: Keyword Parser
Advanced 🌱 Foundations ⚙️ Design Notes
#166
166: Separated List
Advanced 🌱 Foundations ⚙️ Design Notes
#167
167: Recursive Parser
Advanced 🌱 Foundations ⚙️ Design Notes
#168
168: Expression Parser
Advanced 🌱 Foundations ⚙️ Design Notes
#169
169: Operator Precedence
Advanced 🌱 Foundations ⚙️ Design Notes
#170
170: Error Recovery
Advanced ⚠️ Error Handling ⚙️ Design Notes
#171
171: CSV Parser
Advanced 🌱 Foundations ⚙️ Design Notes
#172
172: INI File Parser
Advanced 🌱 Foundations ⚙️ Design Notes
#173
173: Lisp / S-expression Parser
Advanced 🌱 Foundations ⚙️ Design Notes
#174
174: Arithmetic Expression Evaluator
Advanced 🌱 Foundations ⚙️ Design Notes
#175
175: Complete JSON Parser
Advanced 🌱 Foundations ⚙️ Design Notes
#176
176: Introduction to GADTs
Advanced 🌱 Foundations ⚙️ Design Notes
#177
177: GADT Typed Expression Evaluator
Advanced 🌱 Foundations ⚙️ Design Notes
#178
178: Length-Indexed Lists
Advanced 🌱 Foundations ⚙️ Design Notes
#179
179: GADT Preventing Runtime Errors
Advanced 🌱 Foundations ⚙️ Design Notes
#180
180: PhantomData for API Safety
Advanced 🔒 Type System ⚙️ Design Notes
#181
181: Type-Safe SQL-Like Query Builder
Advanced 🌱 Foundations ⚙️ Design Notes
#182
182: Existential Types
Expert 🌱 Foundations ⚙️ Design Notes
#183
183: Heterogeneous Vec with Safe Downcast
Expert 🌱 Foundations ⚙️ Design Notes
#184
184: Introduction to Free Monads
Advanced ⚙️ Closures & FP ⚙️ Design Notes
#185
185: Free Monad DSL
Expert ⚙️ Closures & FP
#186
186: Free Monad Interpreter — Separate DSL from Execution
Expert ⚙️ Closures & FP
#187
187: Free Monad with State
Master ⚙️ Closures & FP
#188
188: Operational Monad
Master 🌱 Foundations
#189
189: Effect Handlers — Introduction
Master 🌱 Foundations
#190
190: Effect Handler — Logging and Nondeterminism
Master 🌱 Foundations
#191
191: Effect Handlers for Exceptions
Master 🌱 Foundations
#192
192: Effect Handlers for State
Expert 🌱 Foundations
#193
193: Effect Handlers for Async IO
Expert 🌱 Foundations
#194
194: Coroutines and Generators via Effects
Master 🌱 Foundations
#195
195: Continuation-Passing Style
Advanced ⚙️ Closures & FP
#196
196: Delimited Continuations
Master 🌱 Foundations
#197
197: Trampoline — Heap-Based Tail Call Optimization
Advanced ⚙️ Closures & FP
#198
198: Church Encoding — Numbers and Booleans as Functions
Expert ⚙️ Closures & FP
#199
199: Scott Encoding — Pattern Matching as Functions
Expert ⚙️ Closures & FP
#200
200: Tagless Final
Advanced ⚙️ Closures & FP ⚙️ Design Notes
#201
201: The Nested Update Problem — Why Lenses Exist
Advanced 🌱 Foundations ⚙️ Design Notes
#202
202: Lens Basics — View, Set, and Over
Advanced 🌱 Foundations ⚙️ Design Notes
#203
203: Lens Laws — What Makes a Lens Well-Behaved
Advanced 🌱 Foundations ⚙️ Design Notes
#204
204: Lens Composition — Zoom Into Nested Structs
Advanced 🌱 Foundations ⚙️ Design Notes
#205
205: Lens Modify — Transform a Field With a Function
Advanced 🌱 Foundations ⚙️ Design Notes
#206
206: Prism Basics — Optics for Enum Variants
Advanced 🌱 Foundations ⚙️ Design Notes
#207
207: Prism Laws — What Makes a Prism Well-Behaved
Advanced 🌱 Foundations ⚙️ Design Notes
#208
208: Traversal
Advanced 🌱 Foundations ⚙️ Design Notes
#209
209: Affine Traversal
Advanced 🐈 Category Theory ⚙️ Design Notes
#210
210: Iso Basics
Advanced 🌱 Foundations ⚙️ Design Notes
#211
211: Optics Hierarchy
Advanced 🌱 Foundations ⚙️ Design Notes
#212
212: Van Laarhoven Lenses
Advanced 🌱 Foundations ⚙️ Design Notes
#213
213: Practical Lens — Deeply Nested Config Update
Advanced 🌱 Foundations ⚙️ Design Notes
#214
214: Fold Optic
Advanced 🌱 Foundations ⚙️ Design Notes
#215
215: Recursion Schemes — Separating What From How
Advanced 🌱 Foundations ⚙️ Design Notes
#216
216: Fix Point — How Recursive Types Work Under the Hood
Advanced 🌱 Foundations ⚙️ Design Notes
#217
217: Catamorphism — The Universal Fold
Advanced 🐈 Category Theory ⚙️ Design Notes
#218
218: Anamorphism — Build a Structure From a Seed
Advanced 🐈 Category Theory ⚙️ Design Notes
#219
219: Hylomorphism — Build Then Fold, in One Pass
Advanced 🐈 Category Theory ⚙️ Design Notes
#220
220: Paramorphism
Advanced 🐈 Category Theory ⚙️ Design Notes
#221
221: Apomorphism
Advanced 🌱 Foundations ⚙️ Design Notes
#222
222: Histomorphism
Advanced 🐈 Category Theory ⚙️ Design Notes
#223
223: Zygomorphism
Advanced 🐈 Category Theory ⚙️ Design Notes
#224
224: Mutumorphism
Master 🌱 Foundations ⚙️ Design Notes
#225
225: Prepromorphism
Master 🌱 Foundations ⚙️ Design Notes
#226
226: Category Theory Basics
Expert 🌱 Foundations
#227
227: Functor Category — Natural Transformations
Advanced 🌱 Foundations ⚙️ Design Notes
#228
228: Natural Transformations
Advanced 🐈 Category Theory ⚙️ Design Notes
#229
229: Monoid as a Category
Advanced 🌱 Foundations ⚙️ Design Notes
#230
230: Semigroup
Intermediate 🌱 Foundations ⚙️ Design Notes
#231
231: Product Types
Intermediate 🌱 Foundations ⚙️ Design Notes
#232
232: Sum Types
Intermediate 🌱 Foundations
#233
233: Curry-Howard Correspondence
Advanced 🌱 Foundations
#234
Propositions as Types — Type Theory Basics
Advanced 🌱 Foundations
#235
235: Yoneda Lemma
Expert 🐈 Category Theory 🧮 Functional Concepts
#236
236: Coyoneda
Expert 🐈 Category Theory
#237
237: Day Convolution
Expert 🐈 Category Theory
#238
238: Profunctor Basics
Advanced 🌱 Foundations
#239
239: Strong Profunctor
Expert 🌱 Foundations
#240
Choice Profunctor — Optionally Applied
Advanced 🌱 Foundations
#241
241: Comonad Basics
Expert 🐈 Category Theory
#242
242: Store Comonad
Expert 🐈 Category Theory
#243
243: Env Comonad (CoReader)
Master 🐈 Category Theory
#244
244: Comonad Laws
Master 🐈 Category Theory
#245
245: Cofree Comonad
Master 🐈 Category Theory
#246
246: Adjunctions
Master 🐈 Category Theory
#247
247: Limits and Colimits
Advanced 🌱 Foundations
#248
248: Kan Extensions
Master 🐈 Category Theory 🧮 Functional Concepts
#249
249: Monad from Adjunction
Master 🐈 Category Theory
#250
250: Grand Synthesis
Expert 🌱 Foundations 🧮 Functional Concepts
#251
Quicksort
Intermediate 🌱 Foundations ⚙️ Design Notes
#252
252: Insertion Sort
Foundations ⚙️ Design Notes
#253
253: Graph BFS
Intermediate 🌱 Foundations ⚙️ Design Notes
#254
254: Graph DFS
Intermediate 🌱 Foundations ⚙️ Design Notes
#255
255: Lazy Fibonacci
Intermediate 🌱 Foundations ⚙️ Design Notes
#256
256: Chaining Iterators with chain()
Foundations 🔁 Iterators
#256
256: Memoization — Fibonacci with Hashtable Cache
Intermediate 🌱 Foundations ⚙️ Design Notes
#257
257: Pairing Elements with zip()
Foundations 🔁 Iterators
#257
257: State Machine — Turnstile
Intermediate 🌱 Foundations ⚙️ Design Notes
#258
258: Index-Value Pairs with enumerate()
Foundations 🔁 Iterators
#258
258: Monadic Option Chaining
Intermediate 🌱 Foundations ⚙️ Design Notes
#259
259: Flattening with flat_map()
Intermediate 🔁 Iterators
#259
259: Result Monad — Error Chaining
Intermediate ⚠️ Error Handling ⚙️ Design Notes
#260
260: Functor Comparable Set
Advanced 🌱 Foundations ⚙️ Design Notes
#260
260: Stateful Accumulation with scan()
Intermediate 🔁 Iterators
#261
261: Binary Search Tree — Insert and Search
Intermediate 🌱 Foundations ⚙️ Design Notes
#261
261: Lookahead with Peekable
Intermediate 🔁 Iterators
#262
262: Sliding Windows over Slices
Intermediate 🔁 Iterators
#262
262: Rose Tree — Multi-Way Tree with Fold
Intermediate 🌱 Foundations ⚙️ Design Notes
#263
263: AVL Tree
Advanced 🌱 Foundations ⚙️ Design Notes
#263
263: Fixed-Size Chunks Iteration
Intermediate 🔁 Iterators
#264
264: Conditional Stopping with take_while()
Foundations 🔁 Iterators
#264
264: String Anagram Check
Foundations 📝 Strings & Text ⚙️ Design Notes
#265
265: Caesar Cipher
Foundations ⚙️ Design Notes
#265
265: Conditional Skipping with skip_while()
Foundations 🔁 Iterators
#266
266: Iterator step_by()
Foundations 🔁 Iterators
#267
267: Infinite Cycling with cycle()
Intermediate 🔁 Iterators
#268
268: Splitting Pairs with unzip()
Intermediate 🔁 Iterators
#269
269: Splitting by Predicate with partition()
Foundations 🔁 Iterators
#270
270: Finding Index with position()
Foundations 🔁 Iterators
#271
271: Transform-and-Find with find_map()
Intermediate 🔁 Iterators
#271
Sublist Classification
Intermediate 🌱 Foundations ⚙️ Design Notes
#272
272: One-Level Flattening with flatten()
Intermediate 🔁 Iterators
#272
Tree Zipper
Advanced 🌱 Foundations ⚙️ Design Notes
#273
Fibonacci Variants
Intermediate 🌱 Foundations ⚙️ Design Notes
#273
273: Iterator inspect()
Foundations 🔁 Iterators
#274
Binary ↔ Decimal Fold
Intermediate 🌱 Foundations ⚙️ Design Notes
#274
274: Numeric Reductions: sum() and product()
Foundations 🔁 Iterators
#275
275: Iterator min() and max()
Foundations 🔁 Iterators
#275
Yacht Dice Scoring
Intermediate 🌱 Foundations ⚙️ Design Notes
#276
276: Iterator min_by() and max_by()
Intermediate 🔁 Iterators
#276
Parallel Letter Frequency
Intermediate 🧵 Concurrency ⚙️ Design Notes
#277
Circular Buffer — Functional Queue
Intermediate 📦 Data Structures ⚙️ Design Notes
#277
277: Iterator count()
Foundations 🔁 Iterators
#278
278: Iterator last()
Foundations 🔁 Iterators
#278
Sierpinski Triangle — Recursive ASCII Art
Intermediate 🌱 Foundations ⚙️ Design Notes
#279
279: Iterator nth()
Foundations 🔁 Iterators
#279
Pascal's Triangle — Row Generation
Foundations ⚙️ Design Notes
#280
Hamming Distance — Generic Zip
Foundations ⚙️ Design Notes
#280
280: Iterator any() and all()
Foundations 🔁 Iterators
#281
281: Implementing Iterator Trait from Scratch
Advanced 🔁 Iterators
#282
282: DoubleEndedIterator
Advanced 🔁 Iterators
#283
283: ExactSizeIterator
Advanced 🔁 Iterators
#284
284: FusedIterator
Advanced 🔁 Iterators
#285
285: Building Custom Iterator Adapters
Advanced 🔁 Iterators
#286
286: Creating Iterators with from_fn()
Intermediate 🔁 Iterators
#287
287: Recursive Sequences with successors()
Intermediate 🔁 Iterators
#288
288: Iterator collect()
Intermediate 🔁 Iterators
#289
289: Extending Collections with extend()
Intermediate 🔁 Iterators
#290
290: Advanced Splitting Patterns
Advanced 🔁 Iterators
#291
291: Result Combinators
Intermediate ⚠️ Error Handling
#292
292: Option Combinators
Foundations ⚠️ Error Handling 🟢 First Steps
#293
293: The ? Operator
Intermediate ⚠️ Error Handling 🟢 First Steps
#294
294: Custom Error Types
Intermediate ⚠️ Error Handling 🟢 First Steps
#295
295: Implementing std::error::Error
Advanced ⚠️ Error Handling 🟠 Backend Engineer
#296
296: From Trait for Error Conversion
Intermediate 🌱 Foundations 🟠 Backend Engineer
#297
297: The thiserror Pattern
Advanced ⚠️ Error Handling
#298
298: The anyhow Pattern — Boxed Errors
Advanced 🌱 Foundations 🟠 Backend Engineer
#299
299: Adding Context to Errors
Advanced ⚠️ Error Handling
#300
300: Chaining Errors with source()
Advanced ⚠️ Error Handling
#301
301: Result::transpose() — Flipping Nested Types
Intermediate 🌱 Foundations
#302
302: Option::transpose() — Collecting Optional Results
Intermediate 🌱 Foundations
#303
303: Collecting Iterator> into Result>
Intermediate ⚠️ Error Handling 🟠 Backend Engineer
#304
304: Splitting Ok/Err with partition()
Intermediate ⚠️ Error Handling
#305
305: unwrap_or, unwrap_or_else, unwrap_or_default
Foundations ⚠️ Error Handling
#306
306: ok_or and ok_or_else
Foundations ⚠️ Error Handling
#307
307: Error Propagation in Closures
Advanced ⚠️ Error Handling
#308
308: When to panic vs Return Result
Intermediate ⚠️ Error Handling
#309
309: The Never Type (!)
Expert ⚠️ Error Handling
#310
310: Infallible Conversions
Advanced ⚠️ Error Handling
#311
311: Handling Multiple Error Types
Advanced ⚠️ Error Handling 🟠 Backend Engineer
#312
312: Error Downcasting
Expert ⚠️ Error Handling
#313
313: The Try Trait — What ? Actually Does
Expert ⚠️ Error Handling
#314
314: Validated — Accumulating All Errors
Expert ⚠️ Error Handling
#315
315: Result ok() and err() Methods
Intermediate 🌱 Foundations
#316
316: std::io::Error Patterns
Intermediate ⚠️ Error Handling
#317
317: Parse Error Handling
Intermediate ⚠️ Error Handling
#318
318: Display vs Debug for Errors
Intermediate ⚠️ Error Handling
#319
319: Error Handling in Tests
Foundations ⚠️ Error Handling
#320
320: Fallible Iterators
Intermediate ⚠️ Error Handling
#321
321: async fn and .await Fundamentals
Advanced 🔮 Async & Futures 🟠 Backend Engineer
#322
322: The Future Trait and Poll
Expert 🔮 Async & Futures
#323
323: async blocks and Lazy Evaluation
Advanced 🔮 Async & Futures 🟠 Backend Engineer
#324
324: Running Futures Concurrently with join!
Advanced 🌱 Foundations
#325
325: Racing Futures with select!
Advanced 🌱 Foundations
#326
326: Capturing with async move
Advanced 🔮 Async & Futures 🟠 Backend Engineer
#327
327: Spawning Concurrent Tasks
Advanced 🔮 Async & Futures 🟠 Backend Engineer
#328
328: Async Channels (mpsc)
Advanced 🔮 Async & Futures 🟠 Backend Engineer
#329
329: Async Streams
Expert 🔮 Async & Futures
#330
330: Async Sink
Expert 🔮 Async & Futures
#331
331: Timeouts with time::timeout
Advanced 🔮 Async & Futures 🟠 Backend Engineer
#332
332: Retry Async
Advanced 🔮 Async & Futures 🟠 Backend Engineer
#333
333: Async Recursion
Expert 🔮 Async & Futures
#334
334: Pin and Unpin
Master 🔮 Async & Futures
#335
335: Waker and Context
Master 🔮 Async & Futures
#336
336: Executor Basics
Master 🔮 Async & Futures
#337
337: Async Mutex
Advanced 🔮 Async & Futures
#338
338: Async RwLock
Advanced 🔮 Async & Futures
#339
339: Semaphore Async
Advanced 🔮 Async & Futures
#340
340: Async Trait Pattern
Expert 🔮 Async & Futures
#341
341: Buffered Stream
Intermediate 🔮 Async & Futures ⚙️ Design Notes
#341
341: MPSC Channel
Advanced 🧵 Concurrency
#342
342: Arc> Pattern
Advanced 🧵 Concurrency
#342
342: Async Io
Advanced 🔮 Async & Futures ⚙️ Design Notes
#343
343: Cancellation Token
Advanced 🔮 Async & Futures ⚙️ Design Notes
#343
343: Producer-Consumer Pattern
Advanced 🧵 Concurrency
#344
344: Structured Concurrency
Expert 🔮 Async & Futures
#345
345: Async Cleanup and Drop
Expert 🔮 Async & Futures
#346
346: Runtime Context
Advanced 🔮 Async & Futures
#347
347: Blocking in Async
Advanced 🔮 Async & Futures
#348
348: Async Generator Pattern
Expert 🔮 Async & Futures
#349
349: Broadcast Channel
Advanced 🔮 Async & Futures
#350
350: Oneshot Channel
Intermediate 🔮 Async & Futures
#351
351: BTreeMap — Ordered Key-Value Storage
Intermediate 📦 Data Structures
#352
352: BTreeSet — Sorted Unique Values
Intermediate 📦 Data Structures
#353
353: VecDeque — Double-Ended Queue
Intermediate 📦 Data Structures
#354
354: BinaryHeap — Priority Queue
Intermediate 📦 Data Structures
#355
355: Linked List in Rust
Advanced 📦 Data Structures
#356
356: Advanced HashMap Patterns
Intermediate 📦 Data Structures 🟠 Backend Engineer
#357
357: Entry API — Insert or Update Without Double Lookup
Intermediate 📦 Data Structures
#358
358: Insertion-Order Maps (IndexMap Pattern)
Advanced 🌱 Foundations
#359
359: Multimap Pattern
Intermediate 🌱 Foundations
#360
360: Bitset Pattern — Bitmask as Dense Boolean Set
Advanced 🌱 Foundations
#361
361: Rope for Efficient String Operations
Expert 📦 Data Structures
#362
362: Trie — Prefix Tree for String Lookups
Advanced 📦 Data Structures
#363
363: Arena / Bump Allocation Pattern
Expert 📦 Data Structures
#364
364: Slab Pattern for Indexed Storage
Advanced 📦 Data Structures
#365
365: Union-Find — Disjoint Set Forest
Advanced 📦 Data Structures
#366
366: Segment Tree — O(log n) Range Queries
Expert 📦 Data Structures
#367
367: Fenwick Tree — Efficient Prefix Sums
Advanced 📦 Data Structures
#368
368: Persistent Data Structures
Expert 📦 Data Structures
#369
369: Cow Clone-on-Write
Intermediate 📦 Data Structures
#370
370: SmallVec / Inline Storage Optimization
Advanced 📦 Data Structures
#371
371: Circular Buffer / Ring Buffer
Advanced 📦 Data Structures
#372
372: Skip List Concept in Rust
Master 📦 Data Structures
#373
373: Custom B-Tree Implementation
Master 🌱 Foundations
#374
374: Radix Tree / Patricia Trie
Expert 📦 Data Structures
#375
375: LRU Cache — Evict the Least Recently Used
Advanced 📦 Data Structures
#376
376: Probabilistic Bloom Filter
Advanced 📦 Data Structures
#377
377: Graph as Adjacency List
Advanced 📦 Data Structures
#378
378: Graph as Adjacency Matrix
Advanced 📦 Data Structures
#379
379: DAG and Topological Sort
Advanced 📦 Data Structures
#380
380: Weighted Graph and Dijkstra
Advanced 📦 Data Structures
#381
381: Blanket Implementations
Advanced 🔒 Type System 🧮 Functional Concepts
#382
382: Associated Types vs Type Parameters
Advanced 🔒 Type System 🧮 Functional Concepts
#383
383: Simulating Higher-Kinded Types with GATs
Expert 🔒 Type System 🧮 Functional Concepts
#384
384: dyn Trait and Fat Pointers
Advanced 🔒 Type System
#385
385: Any Trait for Runtime Type Info
Advanced 🔒 Type System
#386
386: Object-Safe Traits
Advanced 🔒 Type System
#387
387: Sealed Trait Pattern
Advanced 🔒 Type System
#388
388: Extension Trait Pattern
Intermediate 🔒 Type System
#389
389: Newtype Pattern
Intermediate 🔒 Type System
#390
390: Type Alias impl Trait (TAIT)
Expert 🔒 Type System
#391
391: impl Trait in Return Position
Intermediate 🔒 Type System
#392
392: impl Trait in Argument Position
Intermediate 🔒 Type System
#393
393: Complex Where Clause Bounds
Advanced 🔒 Type System
#394
394: Supertrait Pattern
Intermediate 🔒 Type System
#395
395: Default Methods
Intermediate 🔒 Type System
#396
396: Simulating Trait Specialization
Expert 🔒 Type System
#397
397: Marker Traits
Intermediate 🔒 Type System
#398
398: Auto Traits and Negative Impls
Expert 🔒 Type System
#399
399: Coherence and Orphan Rules
Advanced 🔒 Type System
#400
400: Static vs Dynamic Dispatch
Advanced 🔒 Type System
#401
401: Deref and Deref Coercions
Intermediate 🔒 Type System
#402
402: Index and IndexMut Traits
Intermediate 🔒 Type System
#403
403: Display, Debug, and Formatting
Intermediate 🔒 Type System
#404
404: From, Into, TryFrom, TryInto
Intermediate 🔒 Type System
#405
405: Iterator Adapters and Combinators
Intermediate 🌱 Foundations
#406
406: Hash, Eq, and Ord Traits
Intermediate 🔒 Type System
#407
407: Default Trait and Initialization
Foundations
#408
408: Clone vs Copy Semantics
Intermediate 🔒 Type System
#409
409: Drop Trait and RAII
Intermediate 🔒 Type System
#410
410: Arithmetic Operator Overloading
Intermediate 🔒 Type System
#411
411: macro_rules! Declarative Macros
Advanced 🔧 Macros
#412
412: Macro Repetition Patterns
Advanced 🔧 Macros
#413
413: Macro Fragment Specifiers
Advanced 🔧 Macros
#414
414: Recursive Macro Patterns
Expert 🔧 Macros
#415
415: Token Tree Munching
Expert 🔧 Macros
#416
416: Builder Pattern via Macro
Expert 🔧 Macros
#417
417: Implementing vec!-like Macros
Advanced 🔧 Macros
#418
418: stringify! and concat!
Intermediate 🔧 Macros
#419
419: cfg! and cfg_attr for Conditional Code
Intermediate 🔧 Macros
#420
420: env! and option_env! for Build-time Values
Intermediate 🔧 Macros
#421
421: include! and include_str!
Intermediate 🔧 Macros
#422
422: Derive Macros: Concept and Usage
Advanced 🔧 Macros
#423
423: Procedural Macros Overview
Expert 🔧 Macros
#424
424: Custom #[derive(MyTrait)]
Expert 🔧 Macros
#425
425: Attribute Macros #[my_attr]
Expert 🔧 Macros
#426
426: Function-like Proc Macros
Expert 🔧 Macros
#427
427: syn + quote for Proc Macro AST
Expert 🔧 Macros
#428
428: Macro Hygiene Rules
Advanced 🔧 Macros
#429
429: Macro Scoping and #[macro_export]
Advanced 🔧 Macros
#430
430: Debugging Macros with cargo expand
Advanced 🔧 Macros
#431
431: Counting Elements at Compile Time
Advanced 🔧 Macros
#432
432: enum_dispatch via Macros
Expert 🔧 Macros
#433
433: State Machine via Macro
Expert 🔧 Macros
#434
434: DSL Design with Macros
Expert 🔧 Macros
#435
435: lazy_static! / OnceLock Pattern
Advanced 🔧 Macros
#436
436: Deriving Traits for Newtypes
Advanced 🔧 Macros
#437
437: Test Helper Macros
Intermediate 🔧 Macros
#438
438: format_args! for Zero-Alloc Formatting
Advanced 🔧 Macros
#439
439: assert_matches! and Variant Assertions
Intermediate 🔧 Macros
#440
440: Logging Macros Pattern
Intermediate 🔧 Macros
#441
441: Thread Basics — Spawn and Join
Advanced 🧵 Concurrency 🔴 Systems Mastery
#442
442: Scoped Threads — Borrow Stack Data Across Threads
Advanced 🧵 Concurrency
#443
443: Arc> — Shared Mutable State Across Threads
Advanced 🧵 Concurrency 🔴 Systems Mastery
#444
444: Arc> — Multiple Readers, One Writer
Advanced 🧵 Concurrency
#445
445: MPSC Channels — Message Passing Between Threads
Advanced 🧵 Concurrency 🟠 Backend Engineer
#446
446: Thread Pool — Reuse Threads for Amortised Concurrency
Advanced 🧵 Concurrency
#447
447: Work-Stealing Pattern
Advanced 🧵 Concurrency
#448
448: Rayon Parallel Iterators
Advanced 🧵 Concurrency
#449
449: rayon::join for Parallel Tasks
Advanced 🧵 Concurrency
#450
450: Crossbeam Channels
Advanced 🧵 Concurrency
#451
451: Crossbeam select!
Advanced 🧵 Concurrency
#452
452: Atomic Types — Lock-Free Operations on Single Values
Advanced 🌱 Foundations 🔴 Systems Mastery
#453
453: Memory Ordering — Acquire, Release, SeqCst
Advanced 🌱 Foundations 🔴 Systems Mastery
#454
454: Compare-and-Swap — Atomic Conditional Updates
Advanced 🌱 Foundations 🔴 Systems Mastery
#455
455: Lock-Free Stack — Concurrent Push/Pop Without Mutex
Advanced 🧵 Concurrency 🔴 Systems Mastery
#456
456: OnceLock — Initialize a Global Exactly Once
Advanced 🌱 Foundations
#457
457: Condvar — Sleep Until a Condition Is True
Advanced 🧵 Concurrency
#458
458: Barrier — Rendezvous All Threads Before Proceeding
Advanced 🧵 Concurrency
#459
459: Thread-Local Storage — Per-Thread Private State
Advanced 🧵 Concurrency
#460
460: Send + Sync — Compile-Time Thread Safety Proofs
Advanced 🧵 Concurrency
#461
461: Producer-Consumer Pattern
Advanced 🧵 Concurrency 🟠 Backend Engineer
#462
462: Pipeline Concurrency
Advanced 🧵 Concurrency
#463
463: Fan-Out / Fan-In
Advanced 🧵 Concurrency
#464
464: Actor Pattern
Advanced 🧵 Concurrency
#465
465: Message Passing vs Shared Memory
Advanced 🧵 Concurrency
#466
466: Concurrent HashMap
Advanced 🧵 Concurrency
#467
467: Epoch-Based Garbage Collection
Advanced 🌱 Foundations
#468
468: Lock-Free Queue
Advanced 🧵 Concurrency
#469
469: Parallel Fold/Reduce
Advanced 🧵 Concurrency
#470
470: Concurrent B-tree
Advanced 🧵 Concurrency
#471
471: String vs &str
Foundations 📝 Strings & Text 🟢 First Steps
#472
472: String Slices and Byte Boundaries
Foundations 📝 Strings & Text
#473
473: FromStr and parse()
Foundations 📝 Strings & Text 🟠 Backend Engineer
#474
474: format!, write!, writeln!
Foundations 📝 Strings & Text
#475
475: String Building Patterns
Foundations 📝 Strings & Text 🟠 Backend Engineer
#476
476: split(), splitn(), split_once()
Foundations 📝 Strings & Text
#477
477: trim(), trim_start(), trim_end()
Foundations 📝 Strings & Text
#478
478: contains(), find(), starts_with()
Foundations 📝 Strings & Text
#479
479: replace(), replacen()
Foundations 📝 Strings & Text
#480
480: chars() and Char-Level Operations
Foundations 📝 Strings & Text
#481
481: bytes() and Byte-Level Operations
Foundations 📝 Strings & Text
#482
482: Unicode Normalization and Graphemes
Intermediate 📝 Strings & Text
#483
483: UTF-8 Encoding Patterns
Foundations 📝 Strings & Text
#484
484: Cow for Flexible Strings
Intermediate 📝 Strings & Text
#485
485: Efficient String Concatenation
Foundations 📝 Strings & Text
#486
486: Regex-Like Matching Without Crates
Intermediate 📝 Strings & Text
#487
487: String Interning
Intermediate 📝 Strings & Text
#488
488: Owning References with Rc\
Intermediate 📝 Strings & Text
#489
489: Arc\ for Shared Strings
Intermediate 📝 Strings & Text
#490
490: Fixed-Size String Arrays
Foundations 📝 Strings & Text
#491
491: Path and PathBuf Handling
Foundations 📝 Strings & Text
#492
492: OsStr and OsString
Foundations 📝 Strings & Text
#493
493: CString and CStr for FFI
Foundations 📝 Strings & Text
#494
494: Number ↔ String Conversion
Foundations 📝 Strings & Text
#495
495: String Template Pattern
Intermediate 📝 Strings & Text
#496
496: String Diff / Edit Distance
Intermediate 📝 Strings & Text
#497
497: Case Conversion Patterns
Foundations 📝 Strings & Text
#498
498: Safe Unicode Truncation
Foundations 📝 Strings & Text
#499
499: Escaping and Unescaping Strings
Intermediate 📝 Strings & Text
#500
500: String Compression (Run-Length Encoding)
Intermediate 📝 Strings & Text
#501
501: Closure Capture Rules
Intermediate ⚙️ Closures & FP
#502
502: Fn, FnMut, FnOnce Hierarchy
Advanced ⚙️ Closures & FP 🧮 Functional Concepts
#503
503: Closure as Argument
Intermediate ⚙️ Closures & FP
#504
504: Returning Closures from Functions
Advanced ⚙️ Closures & FP 🧮 Functional Concepts
#505
505: Boxing Closures — Box\
Advanced ⚙️ Closures & FP
#506
506: Move Closures and Ownership
Advanced ⚙️ Closures & FP
#507
507: Closure Memoization
Advanced ⚙️ Closures & FP
#508
508: Partial Application with Closures
Intermediate ⚙️ Closures & FP
#509
509: Closure Composition
Advanced ⚙️ Closures & FP 🟣 Functional Concepts
#510
510: Currying Pattern in Rust
Advanced ⚙️ Closures & FP 🟣 Functional Concepts
#511
511: Recursive Closures (Y Combinator)
Master ⚙️ Closures & FP
#512
512: Closures as State Machine Transitions
Advanced ⚙️ Closures & FP
#513
513: Strategy Pattern via Closures
Advanced ⚙️ Closures & FP
#514
514: Observer/Callback Pattern
Advanced ⚙️ Closures & FP
#515
515: Lazy Evaluation with OnceLock
Advanced ⚙️ Closures & FP
#516
516: Complex Closure Environments
Advanced ⚙️ Closures & FP
#517
517: Closure-to-fn-pointer Coercion
Advanced ⚙️ Closures & FP
#518
518: Function Pointers vs Closures
Intermediate ⚙️ Closures & FP
#519
519: Closure Type Inference
Intermediate ⚙️ Closures & FP
#520
520: Higher-Order Functions
Intermediate ⚙️ Closures & FP 🟣 Functional Concepts
#521
521: Map-Reduce with Closures
Intermediate ⚙️ Closures & FP
#522
522: Predicate Functions Pattern
Intermediate ⚙️ Closures & FP
#523
523: Event Handler Pattern
Advanced ⚙️ Closures & FP
#524
524: Builder Pattern with Closures
Advanced ⚙️ Closures & FP
#525
525: Tap Pattern for Side Effects
Intermediate ⚙️ Closures & FP
#526
526: Pipe Operator Simulation
Intermediate ⚙️ Closures & FP
#527
527: FnOnce — Consuming Closures
Advanced ⚙️ Closures & FP
#528
528: Closures Capturing References
Expert 🔒 Type System
#529
529: Async Closures
Expert ⚙️ Closures & FP
#530
530: Closures in Benchmarking
Intermediate ⚙️ Closures & FP
#531
531: Lifetime Annotations — 'a Basics
Advanced 🔒 Type System
#532
532: Multiple Lifetime Parameters
Expert 🔒 Type System
#533
533: Lifetimes in Structs
Advanced 🔒 Type System
#534
534: Lifetimes in impl Blocks
Advanced 🔒 Type System
#535
535: Lifetimes in Enums
Advanced 🔒 Type System
#536
536: 'static Lifetime
Advanced 🔒 Type System
#537
537: Lifetime Coercion and Subtyping
Expert 🔒 Type System
#538
538: Variance — Covariant, Contravariant, Invariant
Master 🔒 Type System
#539
539: Non-Lexical Lifetimes (NLL)
Advanced 🔒 Type System
#540
540: Borrow Checker Internals
Expert 🔒 Type System
#541
541: Lifetime Elision Rules
Advanced 🔒 Type System
#542
542: Higher-Ranked Trait Bounds (for<'a>)
Master 🔒 Type System
#543
543: Lifetimes in dyn Trait
Expert 🔒 Type System
#544
544: Lifetimes in Closures
Expert 🔒 Type System
#545
545: Split Borrows from Structs
Expert 🔒 Type System
#546
546: Reborrowing Patterns
Expert 🔒 Type System
#547
547: Polonius Borrow Checker Concepts
Master 🔒 Type System
#548
548: Named Lifetime in Return Types
Advanced 🔒 Type System
#549
549: PhantomData for Lifetime Variance
Master 🔒 Type System
#550
550: Interior Mutability — Cell and RefCell
Advanced 🔒 Type System
#551
551: Rc and Weak for Cycles
Expert 🔒 Type System
#552
552: Arena with Lifetimes
Expert 🔒 Type System
#553
553: Self-Referential Structs (Pin)
Master 🔒 Type System
#554
554: Safe Transmute with Lifetimes
Master 🔒 Type System
#555
555: Owning References Pattern
Expert 🔒 Type System
#556
556: Rental / Self-Referential Pattern
Expert 🔒 Type System
#557
557: Output Lifetimes in Traits
Expert 🔒 Type System
#558
558: Input Lifetimes Guide
Expert 🔒 Type System
#559
559: Region Inference Basics
Expert 🔒 Type System
#560
560: Lifetime Annotation Cheatsheet
Advanced 🔒 Type System
#561
561: Or-Patterns — pat1 | pat2
Intermediate 🧩 Pattern Matching
#562
562: Match Guards with if Conditions
Intermediate 🧩 Pattern Matching
#563
563: Struct Destructuring
Intermediate 🧩 Pattern Matching
#564
564: Enum Variant Matching
Intermediate 🧩 Pattern Matching
#565
565: Tuple Struct Patterns
Intermediate 🧩 Pattern Matching
#566
566: Nested Pattern Matching
Intermediate 🧩 Pattern Matching
#567
567: Binding Modes: ref, ref mut
Intermediate 🧩 Pattern Matching
#568
568: @ Bindings in Patterns
Intermediate 🧩 Pattern Matching
#569
569: Range Patterns: 1..=10
Intermediate 🧩 Pattern Matching
#570
570: Slice Patterns: [first, rest @ ..]
Intermediate 🧩 Pattern Matching
#571
571: `..` and `_` Wildcards
Intermediate 🧩 Pattern Matching
#572
572: ref Patterns and &
Intermediate 🧩 Pattern Matching
#573
573: let-else for Early Return
Intermediate 🧩 Pattern Matching
#574
574: if let and while let
Intermediate 🧩 Pattern Matching
#575
575: let Chains (&&)
Advanced 🧩 Pattern Matching
#576
576: `matches!` Macro
Intermediate 🧩 Pattern Matching
#577
577: Irrefutable vs Refutable Patterns
Intermediate 🧩 Pattern Matching
#578
578: Exhaustive Matching with _
Intermediate 🧩 Pattern Matching
#579
579: String/str Pattern Matching
Intermediate 🧩 Pattern Matching
#580
580: Option Matching Idioms
Intermediate 🧩 Pattern Matching
#581
581: Result Matching Idioms
Intermediate 🧩 Pattern Matching
#582
582: Tuple Pattern Matching
Intermediate 🧩 Pattern Matching
#583
583: Const in Patterns
Intermediate 🧩 Pattern Matching
#584
584: Type Patterns and `as`
Advanced 🧩 Pattern Matching
#585
585: Box Deref Patterns
Intermediate 🧩 Pattern Matching
#586
586: Consolidating Match Arms
Intermediate 🧩 Pattern Matching
#587
587: Visitor Pattern via Match
Advanced 🧩 Pattern Matching
#588
588: Finite Automata with Match
Advanced 🧩 Pattern Matching
#589
589: Command Dispatch with Enums
Advanced 🧩 Pattern Matching
#590
590: Advanced Enum Pattern Cookbook
Advanced 🧩 Pattern Matching
#591
591: Builder Pattern (Functional Style)
Advanced ⚙️ Closures & FP
#592
592: Command Pattern as Data
Advanced ⚙️ Closures & FP
#593
593: Interpreter Pattern
Advanced ⚙️ Closures & FP
#594
594: Continuation-Passing Style (CPS)
Expert ⚙️ Closures & FP 🟣 Functional Concepts
#595
595: Trampoline Pattern
Expert ⚙️ Closures & FP 🟣 Functional Concepts
#596
596: Church Encoding in Rust
Expert ⚙️ Closures & FP 🧮 Functional Concepts
#597
597: Scott Encoding for Algebraic Types
Expert ⚙️ Closures & FP 🟣 Functional Concepts
#598
598: Finally Tagless Style
Expert ⚙️ Closures & FP 🧮 Functional Concepts
#599
599: Free Monad Interpretation
Expert ⚙️ Closures & FP 🧮 Functional Concepts
#600
600: Simulating Algebraic Effects
Expert ⚙️ Closures & FP 🟣 Functional Concepts
#601
601: Coproduct / Sum Types
Master 🐈 Category Theory
#602
602: Product Types (Advanced)
Master 🌱 Foundations
#603
603: Functor Laws in Practice
Master 🐈 Category Theory 🧮 Functional Concepts
#604
604: Monad Laws — Rust Deep Dive
Master 🐈 Category Theory 🧮 Functional Concepts
#605
605: Applicative Functor Laws
Master 🐈 Category Theory 🟣 Functional Concepts
#606
606: Natural Transformations in Rust
Master 🐈 Category Theory 🧮 Functional Concepts
#607
607: Fixed-Point Types and Recursion Schemes
Master 🐈 Category Theory 🟣 Functional Concepts
#608
608: Catamorphism (Fold) Generalized
Master 🐈 Category Theory 🧮 Functional Concepts
#609
609: Anamorphism (Unfold) Generalized
Master 🐈 Category Theory 🧮 Functional Concepts
#610
610: Hylomorphism — Unfold Then Fold
Master 🐈 Category Theory 🟣 Functional Concepts
#611
611: Paramorphism
Master 🐈 Category Theory 🟣 Functional Concepts
#612
612: Zygomorphism
Master 🐈 Category Theory 🟣 Functional Concepts
#613
613: Futumorphism
Master 🐈 Category Theory
#614
614: Histomorphism
Master 🐈 Category Theory
#615
615: Optics Intro — Lenses, Prisms, and the Hierarchy
Master 🐈 Category Theory
#616
616: Lens Pattern — Composable Getters and Setters
Master 🐈 Category Theory 🧮 Functional Concepts
#617
617: Prism Pattern — Fallible Access for Enum Variants
Master 🐈 Category Theory 🧮 Functional Concepts
#618
618: Traversal for Collection Optics
Master 🐈 Category Theory 🟣 Functional Concepts
#619
619: Isomorphism (Iso)
Master 🐈 Category Theory
#620
620: Affine Traversal (Optional Lens)
Master 🐈 Category Theory
#621
621: Profunctor Encoding of Optics
Master 🐈 Category Theory 🟣 Functional Concepts
#622
622: Classy Optics (Typeclass-Style)
Master 🐈 Category Theory
#623
623: Grand Tour — Functional Programming Patterns in Production Rust
Master 🐈 Category Theory 🧮 Functional Concepts
#699
699: Raw Pointer Basics
Expert ☢️ Unsafe & FFI 🔴 Systems Mastery
#700
700: Unsafe Block
Expert ☢️ Unsafe & FFI 🔴 Systems Mastery
#701
701: Unsafe Functions
Expert ☢️ Unsafe & FFI 🔴 Systems Mastery
#702
702: Unsafe Traits
Expert ☢️ Unsafe & FFI
#703
703: Raw Pointer Arithmetic
Expert ☢️ Unsafe & FFI
#704
704: Dereferencing Raw Pointers Safely
Expert 🌱 Foundations
#705
705: Null Pointer Handling with NonNull
Expert 🌱 Foundations
#706
706: UnsafeCell — The Foundation of Interior Mutability
Expert ☢️ Unsafe & FFI 🔴 Systems Mastery
#707
707: `std::mem::transmute` — Reinterpreting Bytes
Expert ☢️ Unsafe & FFI 🔴 Systems Mastery
#708
708: Safe Transmute Patterns and Alternatives
Expert ☢️ Unsafe & FFI
#709
709: Unions in Rust
Expert ☢️ Unsafe & FFI 🔴 Systems Mastery
#710
710: Calling C Functions with `extern "C"`
Expert ☢️ Unsafe & FFI 🔴 Systems Mastery
#711
711: #[no_mangle] Exporting Rust Functions to C
Expert ☢️ Unsafe & FFI 🔴 Systems Mastery
#712
712: String/CString/CStr Conversion for FFI
Expert ☢️ Unsafe & FFI 🔴 Systems Mastery
#713
713: `#[repr(C)]` Structs for FFI Interop
Expert ☢️ Unsafe & FFI 🔴 Systems Mastery
#714
714: FFI Callbacks — Passing Rust Functions to C
Expert ☢️ Unsafe & FFI 🔴 Systems Mastery
#715
715: FFI Error Codes — Converting C Errors to Rust Result
Expert ⚠️ Error Handling
#716
716: Custom Global Allocator with #[global_allocator]
Master ☢️ Unsafe & FFI 🔴 Systems Mastery
#717
717: Volatile Memory Reads and Writes
Expert ☢️ Unsafe & FFI 🔴 Systems Mastery
#718
718: Soundness, Undefined Behaviour, and Safety Invariants
Master ☢️ Unsafe & FFI 🔴 Systems Mastery
#719
719: Struct of Arrays vs Array of Structs
Advanced 🚀 Performance 🔴 Systems Mastery
#720
720: Cache-Friendly Iteration and Data Access Patterns
Advanced 🚀 Performance 🔴 Systems Mastery
#721
721: `MaybeUninit` — Safe Uninitialized Memory
Expert 🚀 Performance 🔴 Systems Mastery
#722
722: Memory Layout — repr(C), repr(packed), repr(align(N))
Expert 🚀 Performance 🔴 Systems Mastery
#723
723: Branchless Programming
Advanced 🚀 Performance 🔴 Systems Mastery
#724
724: Zero-Copy Parsing with Byte Slices
Advanced 🚀 Performance 🔴 Systems Mastery
#725
725: Stack Allocation Patterns
Advanced 🚀 Performance
#726
726: Memory Pool / Bump Allocator Pattern
Expert 🚀 Performance 🔴 Systems Mastery
#727
727: SIMD Portable Concepts with std::simd
Master 🚀 Performance
#728
728: Inline Hints — #[inline], #[cold], #[target_feature]
Expert 🚀 Performance
#729
729: Avoid Allocations
Advanced 🚀 Performance
#730
730: Small String Optimization
Advanced 🚀 Performance
#731
731: Tiered Memory Strategy
Expert 🚀 Performance
#732
732: Benchmarking Harness
Advanced 🚀 Performance 🔴 Systems Mastery
#733
733: Profile-Guided Patterns
Advanced 🚀 Performance
#734
734: Typestate Pattern: Encode State in the Type
Expert 🔒 Type System 🧮 Functional Concepts
#735
735: Typestate Builder: Required Fields at Compile Time
Expert 🔒 Type System
#736
736: Typestate Connection
Expert 🔒 Type System
#737
737: File Handle Typestate: Open/Closed/ReadOnly
Expert 🔒 Type System
#738
738: PhantomData: Phantom Types and Type Markers
Expert 🔒 Type System 🧮 Functional Concepts
#739
739: Phantom Units of Measure
Expert 🔒 Type System
#740
740: PhantomData for Variance Control
Expert 🔒 Type System
#741
741: Parse-Don't-Validate: Rich Types Over Runtime Checks
Expert 🌱 Foundations
#742
742: Type Witnesses and Evidence Passing
Expert 🌱 Foundations
#743
743: Session Types: Protocol Safety via Types
Expert 🌱 Foundations
#744
744: Unit Test Organisation: Modules, Helpers, AAA Pattern
Intermediate 🧪 Testing 🟠 Backend Engineer
#745
745: Integration Test Structure: tests/ Directory
Intermediate 🧪 Testing 🟠 Backend Engineer
#746
746: Documentation Tests: rustdoc Examples
Intermediate 🧪 Testing
#747
747: Test Fixtures: Setup/Teardown, Shared State
Intermediate 🧪 Testing
#748
748: Property-Based Testing (proptest Pattern)
Advanced 🧪 Testing
#749
749: Fuzzing Concepts: cargo fuzz Approach
Advanced 🧪 Testing
#750
750: Snapshot Testing: Expect Files Pattern
Intermediate 🧪 Testing
#751
751: Mocking via Traits: Test Doubles in Rust
Advanced 🧪 Testing
#752
752: Stubs, Mocks, Fakes, Spies Taxonomy
Intermediate 🧪 Testing
#753
753: Benchmark Harness: Measuring Hot Functions
Advanced 🧪 Testing
#754
754: Testing Async Functions Conceptually
Advanced 🔮 Async & Futures
#755
755: Testing Error Cases and Unwrap Discipline
Intermediate ⚠️ Error Handling 🟠 Backend Engineer
#756
756: Testing with Temporary Files and Directories
Intermediate 🧪 Testing
#757
757: Golden File Testing Pattern
Intermediate 🧪 Testing
#758
758: Test Isolation: Avoiding Shared Mutable State
Advanced 🧪 Testing
#759
759: Manual Serialize/Deserialize Trait Implementation
Advanced 📡 Serialization 🟠 Backend Engineer
#760
760: Derive-Based Serialization: How derive(Serialize) Works
Advanced 📡 Serialization
#761
761: Custom Serialization for Complex Types
Advanced 📡 Serialization
#762
762: Custom Deserialization with Visitor Pattern
Expert 📡 Serialization
#763
763: JSON-Like Format Built From Scratch
Expert 📡 Serialization 🟠 Backend Engineer
#764
764: Binary Serialization: Length-Prefixed Records
Advanced 📡 Serialization
#765
765: CSV Parsing Without External Crates
Advanced 📡 Serialization
#766
766: Config File Parsing (INI/TOML-Like)
Advanced 📡 Serialization
#767
767: Versioned Serialization with Migration
Expert 📡 Serialization
#768
768: Zero-Copy Deserialisation with Lifetime Tricks
Expert 📡 Serialization
#769
769: Streaming Parser for Large Inputs
Expert 📡 Serialization
#770
770: Recursive Descent Parser from Scratch
Expert 📡 Serialization 🟠 Backend Engineer
#771
771: Pratt Parser for Operator Precedence Expressions
Expert 📡 Serialization
#772
772: Parser Combinator Pattern (nom-Style)
Expert 📡 Serialization
#773
773: Serde Attributes: rename, skip, flatten Patterns
Advanced 📡 Serialization
#774
774: Const Generics: fn Fundamentals
Advanced 🔒 Type System
#775
775: Fixed-Size Arrays with const N Parameter
Advanced 🔒 Type System
#776
776: const fn: Compile-Time Computation
Advanced 🔒 Type System
#777
777: Compile-Time Assertions with const
Advanced 🔒 Type System
#778
778: Fibonacci Computed at Compile Time
Advanced 🔒 Type System
#779
779: Compile-Time Lookup Tables with const Arrays
Advanced 🔒 Type System
#780
780: Generic Structs Parameterised by const
Advanced 🔒 Type System
#781
781: Where Bounds on const Generic Parameters
Expert 🔒 Type System
#782
782: const eval: Limitations and Workarounds
Expert 🔒 Type System
#783
783: Type-Level Arithmetic with const Generics
Expert 🔒 Type System
#784
Fibonacci: Memoisation vs Tabulation DP
Advanced 📊 Algorithms: DP ⚫ Algorithm Expert
#785
0/1 Knapsack: DP Table Approach
Advanced 📊 Algorithms: DP
#786
LCS: Classic DP with Backtracking
Advanced 📊 Algorithms: DP ⚫ Algorithm Expert
#787
Edit Distance (Levenshtein) DP
Advanced 📊 Algorithms: DP ⚫ Algorithm Expert
#788
Coin Change: Minimum Coins DP
Advanced 📊 Algorithms: DP ⚫ Algorithm Expert
#789
Longest Increasing Subsequence
Expert 📊 Algorithms: DP ⚫ Algorithm Expert
#790
790: Matrix Chain Multiplication
Expert 📊 Algorithms: DP
#791
791: Palindrome Partitioning
Expert 📊 Algorithms: DP
#792
792: Rod Cutting Problem
Advanced 📊 Algorithms: DP
#793
793: Minimum Path Sum in Grid
Advanced 📊 Algorithms: DP
#794
Word Break (Dictionary DP)
Advanced 📊 Algorithms: DP ⚫ Algorithm Expert
#795
Subset Sum (DP with Bitset Optimisation)
Expert 📊 Algorithms: DP ⚫ Algorithm Expert
#796
796: Counting Paths in Grid with Obstacles
Advanced 📊 Algorithms: DP
#797
797: Range Minimum Query (Sparse Table)
Expert 📊 Algorithms: DP
#798
Kadane's Algorithm: Maximum Subarray Sum
Advanced 📊 Algorithms: DP ⚫ Algorithm Expert
#799
Bellman-Ford: Shortest Paths with Negative Edges
Expert 🕸️ Algorithms: Graphs ⚫ Algorithm Expert
#800
Floyd-Warshall: All-Pairs Shortest Paths
Expert 🕸️ Algorithms: Graphs ⚫ Algorithm Expert
#801
Prim's Algorithm: Minimum Spanning Tree
Expert 🕸️ Algorithms: Graphs ⚫ Algorithm Expert
#802
Kruskal's MST with Union-Find
Expert 🕸️ Algorithms: Graphs ⚫ Algorithm Expert
#803
A* Pathfinding with Manhattan Heuristic
Expert 🕸️ Algorithms: Graphs ⚫ Algorithm Expert
#804
Tarjan's Strongly Connected Components
Master 🕸️ Algorithms: Graphs ⚫ Algorithm Expert
#805
805: Kosaraju's Two-Pass SCC Algorithm
Master 🕸️ Algorithms: Graphs
#806
806: Articulation Points and Bridges
Master 🕸️ Algorithms: Graphs
#807
807: Bipartite Graph Detection (2-Colouring)
Advanced 🕸️ Algorithms: Graphs
#808
DFS-Based Topological Sort
Advanced 🕸️ Algorithms: Graphs ⚫ Algorithm Expert
#809
Max Flow: Ford-Fulkerson with BFS (Edmonds-Karp)
Master 🕸️ Algorithms: Graphs ⚫ Algorithm Expert
#810
Eulerian Path and Circuit (Hierholzer's Algorithm)
Expert 🕸️ Algorithms: Graphs
#811
811: Hamiltonian Cycle via Backtracking
Master 🕸️ Algorithms: Graphs
#812
Graph m-Colouring with Backtracking
Master 🕸️ Algorithms: Graphs
#813
813: Minimum Vertex Cover (2-Approximation)
Expert 🕸️ Algorithms: Graphs
#814
814: KMP — Knuth-Morris-Pratt Pattern Matching
Expert 🔤 Algorithms: Strings ⚫ Algorithm Expert
#815
815: Boyer-Moore-Horspool String Search
Expert 🔤 Algorithms: Strings
#816
816: Rabin-Karp Rolling Hash Search
Expert 🔤 Algorithms: Strings ⚫ Algorithm Expert
#817
817: Aho-Corasick Multi-Pattern Matching Automaton
Master 🔤 Algorithms: Strings ⚫ Algorithm Expert
#818
818: Suffix Array Construction O(n log n)
Master 🔤 Algorithms: Strings ⚫ Algorithm Expert
#819
819: Z-Algorithm
Advanced 🔤 Algorithms: Strings
#820
820: Manacher's Algorithm
Expert 🔤 Algorithms: Strings
#821
821: Trie for Autocomplete and Prefix Search
Advanced 📦 Data Structures
#822
822: Burrows-Wheeler Transform
Expert 🔤 Algorithms: Strings
#823
823: Polynomial Rolling Hash
Advanced 📝 Strings & Text
#824
824: Sieve of Eratosthenes
Advanced 🔢 Number Theory ⚫ Algorithm Expert
#825
825: Prime Factorization
Expert 🔢 Number Theory
#826
826: GCD, LCM, and the Euclidean Algorithm
Advanced 🔢 Number Theory ⚫ Algorithm Expert
#827
827: Modular Arithmetic
Expert 🔢 Number Theory
#828
828: Fast Modular Exponentiation
Advanced 🔢 Number Theory ⚫ Algorithm Expert
#829
829: Chinese Remainder Theorem
Expert 🔢 Number Theory
#830
830: Euler's Totient Function φ(n)
Expert 🔢 Number Theory
#831
831: Miller-Rabin Probabilistic Primality Test
Expert 🔢 Number Theory ⚫ Algorithm Expert
#832
832: Extended Euclidean Algorithm
Expert 🔢 Number Theory ⚫ Algorithm Expert
#833
833: Discrete Logarithm — Baby-Step Giant-Step
Master 🔢 Number Theory
#834
834: Convex Hull — Graham Scan
Expert 📐 Algorithms: Geometry ⚫ Algorithm Expert
#835
835: Point-in-Polygon — Ray Casting
Expert 📐 Algorithms: Geometry
#836
836: Line Segment Intersection Detection
Expert 📐 Algorithms: Geometry
#837
837: Closest Pair of Points — Divide and Conquer
Master 📐 Algorithms: Geometry ⚫ Algorithm Expert
#838
838: Interval Tree for Stabbing Queries
Expert 📦 Data Structures
#839
839: Sweep Line Algorithm with Event Queue
Expert 📐 Algorithms: Geometry
#840
840: Divide and Conquer — Generic Recursive Framework
Advanced 📐 Algorithms: Geometry
#841
841: Backtracking — Generic Recursive Framework with Pruning
Advanced 📐 Algorithms: Geometry
#842
842: Branch and Bound — TSP Optimisation
Expert 📐 Algorithms: Geometry
#843
843: Generic Memoization with HashMap Cache
Advanced 📐 Algorithms: Geometry ⚫ Algorithm Expert
#844
844: Greedy Algorithm Patterns — Activity Selection and Huffman Coding
Advanced 📐 Algorithms: Geometry ⚫ Algorithm Expert
#845
845: Randomized Quickselect
Advanced 📐 Algorithms: Geometry
#846
846: Monte Carlo Methods — π Estimation and Sampling
Advanced 📐 Algorithms: Geometry
#847
847: Approximation Algorithms — Greedy Set Cover
Expert 📐 Algorithms: Geometry
#848
848: Big-O Reasoning and Complexity Analysis in Rust
Advanced 📐 Algorithms: Geometry
#849
001: Higher-Order Functions
Foundations 🟢 First Steps
#850
051: Functors Introduction
Intermediate 🌱 Foundations ⚙️ Design Notes
#851
052: Functor Laws
Intermediate 🐈 Category Theory ⚙️ Design Notes
#852
053: Applicative Functor Basics
Intermediate 🌱 Foundations ⚙️ Design Notes
#853
054: Applicative Validation
Intermediate 🌱 Foundations ⚙️ Design Notes
#854
055: Option Monad
Intermediate 🌱 Foundations ⚙️ Design Notes
#855
056: Result Monad
Intermediate 🌱 Foundations ⚙️ Design Notes
#856
057: Monad Laws
Intermediate 🐈 Category Theory ⚙️ Design Notes
#857
058: FlatMap/Bind Chains
Intermediate 🌱 Foundations ⚙️ Design Notes
#858
059: Kleisli Composition
Advanced 🌱 Foundations ⚙️ Design Notes
#859
060: State Monad
Advanced 🌱 Foundations ⚙️ Design Notes
#860
061: Reader Monad
Advanced 🌱 Foundations ⚙️ Design Notes
#861
062: Writer Monad
Advanced 🌱 Foundations ⚙️ Design Notes
#862
063: Monad Transformers
Advanced 🌱 Foundations ⚙️ Design Notes
#863
064: Traverse with Option
Intermediate 🌱 Foundations ⚙️ Design Notes
#864
065: Traverse with Result
Intermediate 🌱 Foundations ⚙️ Design Notes
#865
066: Sequence Monadic
Intermediate 🌱 Foundations ⚙️ Design Notes
#866
067: Foldable Trait
Intermediate 🌱 Foundations ⚙️ Design Notes
#867
068: Foldable Tree
Intermediate 🌱 Foundations ⚙️ Design Notes
#868
069: Traversable Tree
Advanced 🌱 Foundations ⚙️ Design Notes
#869
070: Continuation Monad
Advanced ⚙️ Closures & FP
#870
076: Trait Objects
Intermediate 🔒 Type System ⚙️ Design Notes
#871
077: Generic Bounds
Intermediate 🌱 Foundations ⚙️ Design Notes
#872
078: Where Clauses
Intermediate 🌱 Foundations ⚙️ Design Notes
#873
079: Associated Types
Intermediate 🔒 Type System ⚙️ Design Notes
#874
080: Phantom Types
Advanced 🔒 Type System ⚙️ Design Notes
#875
081: Newtype Pattern
Intermediate 🔒 Type System ⚙️ Design Notes
#876
082: Type Aliases
Foundations 🔒 Type System ⚙️ Design Notes
#877
083: Display Trait
Intermediate 🌱 Foundations ⚙️ Design Notes
#878
084: From/Into Traits
Intermediate 🔒 Type System ⚙️ Design Notes
#879
085: Iterator Trait
Intermediate 🌱 Foundations ⚙️ Design Notes
#880
086: Custom Iterators
Intermediate 🔁 Iterators 🟢 First Steps ⚙️ Design Notes
#881
087: Iterator Adapters
Intermediate 🔁 Iterators ⚙️ Design Notes
#882
088: Iterator Consumers
Intermediate 🌱 Foundations ⚙️ Design Notes
#883
089: Lazy Sequences
Intermediate 🌱 Foundations ⚙️ Design Notes
#884
090: Infinite Iterators
Intermediate 🌱 Foundations ⚙️ Design Notes
#885
091: Zip and Unzip
Advanced 🌱 Foundations ⚙️ Design Notes
#886
092: Scan / Accumulate
Advanced 🌱 Foundations ⚙️ Design Notes
#887
093: Windows and Chunks
Advanced 🌱 Foundations ⚙️ Design Notes
#888
094: Peekable Iterator
Advanced 🌱 Foundations ⚙️ Design Notes
#889
095: DoubleEndedIterator
Advanced 🌱 Foundations ⚙️ Design Notes
#890
096: ExactSizeIterator
Advanced 🌱 Foundations ⚙️ Design Notes
#891
097: Flatten Iterator
Advanced 🌱 Foundations ⚙️ Design Notes
#892
098: Partition Iterator
Advanced 🌱 Foundations ⚙️ Design Notes
#893
099: Group By Iterator
Advanced 🌱 Foundations ⚙️ Design Notes
#894
100: Step By, Enumerate, Rev
Advanced 🌱 Foundations ⚙️ Design Notes
#895
101: Move Semantics
Intermediate 🌱 Foundations ⚙️ Design Notes
#896
102: Clone and Copy
Intermediate 🔒 Type System ⚙️ Design Notes
#897
103: Shared References (&T)
Intermediate 🌱 Foundations ⚙️ Design Notes
#898
104: Mutable References (&mut T)
Intermediate 🌱 Foundations ⚙️ Design Notes
#899
105: Lifetime Basics
Advanced 🔒 Type System ⚙️ Design Notes
#900
256: Chaining Iterators with chain()
Foundations 🔁 Iterators 🟢 First Steps
#901
257: Pairing Elements with zip()
Foundations 🔁 Iterators
#902
258: Index-Value Pairs with enumerate()
Foundations 🔁 Iterators
#903
259: Flattening with flat_map()
Intermediate 🔁 Iterators 🧮 Functional Concepts
#904
260: Stateful Accumulation with scan()
Intermediate 🔁 Iterators
#905
261: Lookahead with Peekable
Intermediate 🔁 Iterators
#906
262: Sliding Windows over Slices
Intermediate 🔁 Iterators
#907
263: Fixed-Size Chunks Iteration
Intermediate 🔁 Iterators
#908
264: Conditional Stopping with take_while()
Foundations 🔁 Iterators
#909
265: Conditional Skipping with skip_while()
Foundations 🔁 Iterators
#910
271: Transform-and-Find with find_map()
Intermediate 🔁 Iterators
#911
272: One-Level Flattening with flatten()
Intermediate 🔁 Iterators
#912
273: Iterator inspect()
Foundations 🔁 Iterators
#913
274: Numeric Reductions: sum() and product()
Foundations 🔁 Iterators
#914
275: Iterator min() and max()
Foundations 🔁 Iterators
#915
276: Iterator min_by() and max_by()
Intermediate 🔁 Iterators
#916
277: Iterator count()
Foundations 🔁 Iterators
#917
278: Iterator last()
Foundations 🔁 Iterators
#918
279: Iterator nth()
Foundations 🔁 Iterators
#919
280: Iterator any() and all()
Foundations 🔁 Iterators
#920
341: Buffered Concurrent Stream Processing
Expert 🔮 Async & Futures ⚙️ Design Notes
#921
342: Async File and Network I/O
Advanced 🔮 Async & Futures ⚙️ Design Notes
#922
343: Cancellation Token
Advanced 🔮 Async & Futures 🟠 Backend Engineer ⚙️ Design Notes
#923
923: Thread Pool
Expert 🧵 Concurrency ⚙️ Design Notes
#924
924: Work Stealing
Master 🧵 Concurrency ⚙️ Design Notes
#925
List Operations
Foundations ⚙️ Design Notes
#926
003: Pattern Matching
Intermediate 🧩 Pattern Matching 🟢 First Steps ⚙️ Design Notes
#927
004: Option and Result
Intermediate 🌱 Foundations 🟢 First Steps ⚙️ Design Notes
#928
005: Reverse a List
Foundations 🟢 First Steps ⚙️ Design Notes
#929
006: Palindrome Check
Foundations 🟢 First Steps ⚙️ Design Notes
#930
061: Pangram Check
Foundations ⚙️ Design Notes
#931
Records — Immutable Update and Pattern Matching
Foundations ⚙️ Design Notes
#932
Stack Module with Signature
Intermediate 🌱 Foundations ⚙️ Design Notes
#933
064: Map.Make Functor — String→Int Dictionary
Intermediate 🌱 Foundations ⚙️ Design Notes
#934
065: Church Numerals
Advanced ⚙️ Closures & FP ⚙️ Design Notes
#935
066: Tree Map and Fold
Intermediate 🌱 Foundations ⚙️ Design Notes
#936
067: Mutual Recursion
Foundations ⚙️ Design Notes
#937
068: Tail-Recursive Accumulator
Intermediate 🌱 Foundations ⚙️ Design Notes
#938
069: Unfold
Intermediate 🌱 Foundations ⚙️ Design Notes
#939
070: Scan Left
Foundations ⚙️ Design Notes
#940
071: GCD and LCM
Foundations ⚙️ Design Notes
#941
071: Identity Monad
Intermediate 🌱 Foundations
#942
072: Matrix Operations
Intermediate 🌱 Foundations ⚙️ Design Notes
#943
Result Type — Railway-Oriented Error Handling
Intermediate 🌱 Foundations ⚙️ Design Notes
#944
073: Validated Type — Smart Constructors
Advanced ⚠️ Error Handling
#945
073: Word Count with Map
Advanced 🌱 Foundations ⚙️ Design Notes
#946
074 — Catamorphism
Advanced 🐈 Category Theory ⚙️ Design Notes
#947
074: Currying and Partial Application
Intermediate 🌱 Foundations ⚙️ Design Notes
#948
075: Merge Sort — Functional Divide and Conquer
Advanced 🌱 Foundations ⚙️ Design Notes
#949
075: Profunctor — Contramap Input, Map Output
Advanced 🌱 Foundations
#950
Sum of Multiples
Intermediate 🌱 Foundations ⚙️ Design Notes
#951
Series — Sliding Window
Intermediate 🌱 Foundations ⚙️ Design Notes
#952
Atbash Cipher
Intermediate 🌱 Foundations ⚙️ Design Notes
#953
Poker Hand Evaluator
Advanced 🌱 Foundations ⚙️ Design Notes
#954
090: Perfect Numbers — Classification
Foundations ⚙️ Design Notes
#955
955: JSON Value Type
Foundations ⚙️ Design Notes
#956
956: JSON Pretty Print
Intermediate 🌱 Foundations ⚙️ Design Notes
#957
957: JSON Query by Path
Intermediate 🌱 Foundations ⚙️ Design Notes
#958
958: CSV Parser
Intermediate 🌱 Foundations ⚙️ Design Notes
#959
959: CSV Writer
Foundations ⚙️ Design Notes
#960
960: Key-Value Store
Foundations ⚙️ Design Notes
#961
961: LRU Cache
Intermediate 📦 Data Structures ⚙️ Design Notes
#962
962: Trie Map
Intermediate 📦 Data Structures ⚙️ Design Notes
#963
963: Bloom Filter
Intermediate 📦 Data Structures ⚙️ Design Notes
#964
964: Union-Find / Disjoint Set
Intermediate 🌱 Foundations ⚙️ Design Notes
#965
965: Segment Tree
Intermediate 📦 Data Structures ⚙️ Design Notes
#966
966: Fenwick Tree (BIT)
Intermediate 📦 Data Structures ⚙️ Design Notes
#967
967: Priority Queue
Intermediate 🌱 Foundations ⚙️ Design Notes
#968
968: Double-Ended Queue (Deque)
Intermediate 🌱 Foundations ⚙️ Design Notes
#969
969: Circular Buffer
Intermediate 📦 Data Structures ⚙️ Design Notes
#970
970: Rope String
Advanced 🌱 Foundations ⚙️ Design Notes
#971
971: Persistent List
Intermediate 🌱 Foundations ⚙️ Design Notes
#972
972: Persistent Binary Search Tree
Advanced 🌱 Foundations ⚙️ Design Notes
#973
973: Finger Tree
Advanced 🌱 Foundations ⚙️ Design Notes
#974
974: Skip List
Advanced 📦 Data Structures ⚙️ Design Notes
#975
975: Sparse Matrix
Intermediate 🌱 Foundations ⚙️ Design Notes
#976
976: Matrix Multiply
Intermediate 🌱 Foundations ⚙️ Design Notes
#977
977: Bitset
Intermediate 🌱 Foundations ⚙️ Design Notes
#978
978: Count-Min Sketch
Advanced 🌱 Foundations ⚙️ Design Notes
#979
979: Future/Promise Basics
Intermediate 🌱 Foundations ⚙️ Design Notes
#980
980: Map over Async
Foundations 🔮 Async & Futures ⚙️ Design Notes
#981
981: Sequential Async Chain
Foundations 🔮 Async & Futures ⚙️ Design Notes
#982
982: Join Parallel Async
Foundations 🔮 Async & Futures ⚙️ Design Notes
#983
983: MPSC Channel Basics
Foundations ⚙️ Design Notes
#984
984: Channel Pipeline
Intermediate 🌱 Foundations ⚙️ Design Notes
#985
985: Select Pattern
Intermediate 🌱 Foundations ⚙️ Design Notes
#986
986: Mutex-Protected State
Foundations ⚙️ Design Notes
#987
987: Read-Write Lock Pattern
Intermediate 🌱 Foundations ⚙️ Design Notes
#988
988: Thread-Local Storage
Intermediate 🧵 Concurrency ⚙️ Design Notes
#989
989: One-Time Initialization
Foundations ⚙️ Design Notes
#990
990: Semaphore
Intermediate 🌱 Foundations ⚙️ Design Notes
#991
991: Barrier Synchronization
Intermediate 🧵 Concurrency ⚙️ Design Notes
#992
992: Actor Pattern
Intermediate 🧵 Concurrency ⚙️ Design Notes
#993
993: Thread Pool / Work Queue
Intermediate 🌱 Foundations ⚙️ Design Notes
#994
994: MapReduce
Intermediate 🌱 Foundations ⚙️ Design Notes
#995
995: N-Stage Streaming Pipeline
Intermediate 🌱 Foundations ⚙️ Design Notes
#996
996: Timeout Pattern
Intermediate 🌱 Foundations ⚙️ Design Notes
#997
997: Retry with Exponential Backoff
Foundations ⚙️ Design Notes
#998
998: Circuit Breaker
Advanced 🌱 Foundations ⚙️ Design Notes
#999
999: Rate Limiter — Token Bucket
Intermediate 🌱 Foundations ⚙️ Design Notes
#1000
1000: Reactive Stream
Advanced 🌱 Foundations ⚙️ Design Notes
#1001
1001: Simple Event Loop
Intermediate 🌱 Foundations ⚙️ Design Notes
#1002
1002: Backpressure
Intermediate 🌱 Foundations ⚙️ Design Notes
#1003
1003: Custom Error Types
Intermediate 🌱 Foundations ⚙️ Design Notes
#1004
1004: Error Conversion
Intermediate ⚠️ Error Handling ⚙️ Design Notes
#1005
1005: Error Chaining
Intermediate ⚠️ Error Handling ⚙️ Design Notes
#1006
1006: Multiple Error Types
Intermediate ⚠️ Error Handling ⚙️ Design Notes
#1007
1007: Result Combinators
Intermediate ⚠️ Error Handling 🟢 First Steps ⚙️ Design Notes
#1008
1008: Option to Result Conversion
Foundations ⚙️ Design Notes
#1009
1009: Collecting Results
Intermediate 🌱 Foundations ⚙️ Design Notes
#1010
1010: Partition Results
Intermediate ⚠️ Error Handling ⚙️ Design Notes
#1011
1011: The ? (Try) Operator
Intermediate 🌱 Foundations ⚙️ Design Notes
#1012
1012: The Never Type (!)
Advanced ⚠️ Error Handling ⚙️ Design Notes
#1013
1013: Panic vs Result
Foundations ⚠️ Error Handling ⚙️ Design Notes
#1014
1014: Recover from Panic
Advanced 🌱 Foundations ⚙️ Design Notes
#1015
1015: Validation Errors
Intermediate 🌱 Foundations ⚙️ Design Notes
#1016
1016: Error Context
Intermediate ⚠️ Error Handling 🟠 Backend Engineer ⚙️ Design Notes
#1017
1017: Typed Error Hierarchy
Intermediate 🌱 Foundations ⚙️ Design Notes
#1018
1018: Error Downcast
Advanced ⚠️ Error Handling ⚙️ Design Notes
#1019
1019: Fallible Iterator
Intermediate ⚠️ Error Handling ⚙️ Design Notes
#1020
1020: try_fold
Intermediate 🌱 Foundations ⚙️ Design Notes
#1021
1021: Error Propagation Depth
Intermediate ⚠️ Error Handling ⚙️ Design Notes
#1022
1022: Sentinel Values vs Result
Foundations ⚙️ Design Notes
#1023
1023: Safe Integer Parsing
Foundations ⚙️ Design Notes
#1024
1024: File Operation Errors
Foundations ⚙️ Design Notes
#1025
1025: Network Error Classification
Intermediate 🌱 Foundations ⚙️ Design Notes
#1026
1026: Custom Error Display
Intermediate ⚠️ Error Handling ⚙️ Design Notes
#1027
1027: BTreeMap — Sorted Key Iteration
Foundations 📦 Data Structures ⚙️ Design Notes
#1028
1028: BTreeSet — Union, Intersection, Difference
Foundations 📦 Data Structures ⚙️ Design Notes
#1029
1029: HashMap Entry API
Intermediate 🌱 Foundations ⚙️ Design Notes
#1030
1030: Group Elements by Key
Foundations ⚙️ Design Notes
#1031
1031: Count Frequencies
Foundations ⚙️ Design Notes
#1032
1032: VecDeque Rotation
Foundations ⚙️ Design Notes
#1033
1033: Top-K Elements with BinaryHeap
Intermediate 📦 Data Structures ⚙️ Design Notes
#1034
1034: Safe Linked List
Intermediate 📦 Data Structures ⚙️ Design Notes
#1035
1035: Doubly-Linked List
Advanced 🌱 Foundations ⚙️ Design Notes
#1036
1036: Graph with Arena Allocation
Intermediate 🌱 Foundations ⚙️ Design Notes
#1037
1037: Adjacency List Graph
Intermediate 🌱 Foundations ⚙️ Design Notes
#1038
1038: Adjacency Matrix
Foundations ⚙️ Design Notes
#1039
1039: Stack Using Vec
Foundations ⚙️ Design Notes
#1040
1040: Queue Using VecDeque
Foundations ⚙️ Design Notes
#1041
1041: Multimap
Intermediate 🌱 Foundations ⚙️ Design Notes
#1042
1042: Bidirectional Map
Intermediate 🌱 Foundations ⚙️ Design Notes
#1043
1043: Interval Map
Advanced 🌱 Foundations ⚙️ Design Notes
#1044
1044: Sorted Vec
Intermediate 🌱 Foundations ⚙️ Design Notes
#1045
1045: Small Vector Optimization
Advanced 📦 Data Structures ⚙️ Design Notes
#1046
1046: Clone-on-Write Collections
Intermediate 🌱 Foundations ⚙️ Design Notes
#1047
1047: Flat Binary Tree in Vec
Intermediate 🌱 Foundations ⚙️ Design Notes
#1048
1048: Vec Zipper
Intermediate 🌱 Foundations ⚙️ Design Notes
#1049
1049: Persistent HashMap
Advanced 🌱 Foundations ⚙️ Design Notes
#1050
1050: String Interning
Intermediate 🌱 Foundations ⚙️ Design Notes
#1051
1051: Fibonacci with HashMap Memoization
Intermediate 🌱 Foundations ⚙️ Design Notes
#1052
1052: Fibonacci Bottom-Up DP
Foundations ⚙️ Design Notes
#1053
1053: Coin Change
Intermediate 🌱 Foundations ⚙️ Design Notes
#1054
1054: 0/1 Knapsack
Intermediate 🌱 Foundations ⚫ Algorithm Expert ⚙️ Design Notes
#1055
1055: Longest Common Subsequence
Intermediate 🌱 Foundations ⚙️ Design Notes
#1056
1056: Edit Distance (Levenshtein)
Intermediate 🌱 Foundations ⚙️ Design Notes
#1057
1057: Matrix Chain Multiplication
Advanced 🌱 Foundations ⚙️ Design Notes
#1058
1058: Longest Increasing Subsequence
Intermediate 🌱 Foundations ⚙️ Design Notes
#1059
1059: Rod Cutting
Intermediate 🌱 Foundations ⚙️ Design Notes
#1060
1060: Partition Equal Subset Sum
Intermediate 🌱 Foundations ⚙️ Design Notes
#1061
1061: Word Break
Intermediate 🌱 Foundations ⚙️ Design Notes
#1062
1062: N-Queens
Advanced 🌱 Foundations ⚙️ Design Notes
#1063
1063: Sudoku Solver
Advanced 🌱 Foundations ⚙️ Design Notes
#1064
1064: Permutations
Intermediate 🌱 Foundations ⚙️ Design Notes
#1065
1065: Combination Sum
Intermediate 🌱 Foundations ⚙️ Design Notes
#1066
1066: All Subsets (Power Set)
Intermediate 🌱 Foundations ⚙️ Design Notes
#1067
1067: Phone Keypad Letter Combinations
Intermediate 🌱 Foundations ⚙️ Design Notes
#1068
1068: Maze Solver
Intermediate 🌱 Foundations ⚙️ Design Notes
#1069
1069: Graph Coloring
Advanced 🌱 Foundations ⚙️ Design Notes
#1070
1070: Hamiltonian Path
Advanced 🌱 Foundations ⚙️ Design Notes
#1071
1071: Regex Matching
Advanced 🌱 Foundations ⚙️ Design Notes
#1072
1072: Wildcard Matching
Advanced 🌱 Foundations ⚙️ Design Notes
#1073
1073: Burst Balloons
Advanced 🌱 Foundations ⚙️ Design Notes
#1074
1074: Egg Drop
Advanced 🌱 Foundations ⚙️ Design Notes
#1075
1075: Stone Game
Advanced 🌱 Foundations ⚙️ Design Notes
#1076
Y Combinator — Anonymous Recursion
Advanced 🌱 Foundations ⚙️ Design Notes
#1077
Phantom Type State Machine — File Handle
Advanced 🔒 Type System ⚙️ Design Notes
#1078
Visitor Pattern via Fold — Expression Evaluator
Intermediate 🌱 Foundations ⚙️ Design Notes
#1079
Writer Monad — Logging Computation
Advanced 🌱 Foundations ⚙️ Design Notes
#1080
Topological Sort via Kahn's Algorithm
Advanced 🌱 Foundations ⚙️ Design Notes
#1081
Lenses
Advanced 🌱 Foundations ⚙️ Design Notes
#1082
Tail-Recursive Map with CPS
Intermediate ⚙️ Closures & FP ⚙️ Design Notes
#1083
Red-Black Tree
Advanced 🌱 Foundations ⚙️ Design Notes
#1085
1085 — Dijkstra's Shortest Path
Master 🌱 Foundations