Learning Paths
Each journey covers one topic. The recommended paths put them in order for different goals.
All Journeys at a Glance
| Journey | Exercises | Level |
|---|---|---|
| Core: Foundations | 37 | Beginner |
| Core: Error Handling | 26 | Intermediate |
| Core: Advanced Patterns | 26 | Advanced |
| Effect API | 17 | All Levels |
| Monad Transformers | 29 | Advanced |
| Concurrency: VTask | 28 | Intermediate |
| Concurrency: Scope & Resource | 20 | Intermediate |
| Context | 59 | Advanced |
| Effect Handlers | 19 | Advanced |
| Optics: Lens & Prism | 30 | Beginner |
| Optics: Traversals & Practice | 28 | Intermediate |
| Optics: Fluent & Free DSL | 22 | Advanced |
| Optics: Focus DSL | 90 | Intermediate |
| Optics: Batching & Coupled Updates | 13 | Advanced |
| Optics: Boundary Mapping | 19 | Intermediate |
| Expression: ForState | 13 | Intermediate |
| Expression: ForPath Parallel | 9 | Intermediate |
| Resilience Patterns | 24 | Intermediate |
| Capstone: One Line, Six Layers Grows Up | 7 | Intermediate |
Recommended Paths
Path A: Effect-First is the recommended path for most users. It teaches the primary user-facing API of Higher-Kinded-J and gets us productive quickly.
Path A: Effect-First (Recommended)
The modern approach: start with the user-friendly Effect API.
| Session | Journey |
|---|---|
| 1 | Core: Foundations |
| 2 | Effect API: Fundamentals |
| 3 | Effect API: Advanced |
| 4 | Optics: Lens & Prism |
| 5 | Expression: ForState |
Total: 5 sessions
Best for: New users who want the recommended learning experience.
Path B: Quickstart
Get productive with Higher-Kinded-J quickly.
| Session | Journey |
|---|---|
| 1 | Core: Foundations |
| 2 | Effect API: Fundamentals |
Total: 2 sessions
Best for: Developers who want to use the library immediately without deep theory.
Path C: Practical FP
Core functional patterns for everyday use.
| Session | Journey |
|---|---|
| 1 | Core: Foundations |
| 2 | Core: Error Handling |
| 3 | Effect API: Fundamentals |
| 4 | Optics: Lens & Prism |
| 5 | Expression: ForState |
Total: 5 sessions
Best for: Developers building production applications who want solid foundations.
Path D: Core Types Deep Dive
Master the theoretical foundation.
| Session | Journey |
|---|---|
| 1 | Core: Foundations |
| 2 | Core: Error Handling |
| 3 | Core: Advanced Patterns |
Total: 3 sessions
Best for: Developers who want to understand the FP theory deeply before applying it. Pair this path with the Foundations chapter of the book; the journeys exercise the concepts that the book explains.
Path E: Optics Specialist
Master immutable data manipulation.
| Session | Journey |
|---|---|
| 1 | Optics: Lens & Prism |
| 2 | Optics: Traversals & Practice |
| 3 | Optics: Fluent & Free DSL |
| 4 | Optics: Focus DSL |
| 5 | Optics: Batching & Coupled Updates |
| 6 | Optics: Boundary Mapping |
Total: 6 sessions
Best for: Developers working with complex immutable data structures who want to master optics, through to the generated DTO boundary.
Path F: Full Curriculum
Everything, done properly over multiple sessions.
Total: 20 sessions
Best for: Comprehensive mastery of Higher-Kinded-J.
Combined Journeys
These pairs build on each other and work well taken back to back:
Error Mastery
Combine Core: Error Handling + Core: Advanced Patterns
Focus: Complete error handling and advanced FP patterns together.
DSL Power
Combine Optics: Fluent & Free DSL + Optics: Focus DSL
Focus: Master both the Free Monad DSL and the Focus DSL together.
Effect API Complete
Combine Effect API: Fundamentals + Effect API: Advanced
Focus: Master the complete Effect Path API from basics to advanced contexts and annotations.
Concurrency Complete
Combine Concurrency: VTask + Concurrency: Scope & Resource
Focus: Master virtual threads, structured concurrency, and resource management together.
Tips for Success
- Pause between tutorials, not inside one. A break between tutorials or journeys helps consolidation.
- Don't skip the struggle. When an exercise is hard, that is where learning happens. Consult solutions only after genuine effort.
- Run the tests. The red-to-green feedback loop is essential. Don't just read the exercises.
- Revisit earlier journeys. After completing later journeys, earlier concepts often make more sense. Circle back.
- Apply immediately. After each journey, try using what we learned in our own code.
Previous: Expression: ForState Next: Solutions Guide