- Introduction to Higher-Kinded-J
- Effect Path API
- 1. Introduction
❱
- 1.1. Effect Path Overview
- 1.2. Capability Interfaces
- 1.3. Path Types
❱
- 1.3.1. MaybePath
- 1.3.2. EitherPath
- 1.3.3. TryPath
- 1.3.4. IOPath
- 1.3.5. ValidationPath
- 1.3.6. IdPath
- 1.3.7. OptionalPath
- 1.3.8. GenericPath
- 1.3.9. TrampolinePath
- 1.3.10. FreePath
- 1.3.11. FreeApPath
- 1.4. Composition Patterns
- 1.5. ForPath Comprehension
- 1.6. Type Conversions
- 1.7. Focus-Effect Integration
- 1.8. Patterns and Recipes
- 1.9. Advanced Effects
- 1.10. Effect Contexts
❱
- 1.10.1. ErrorContext
- 1.10.2. Optional Contexts
- 1.10.3. ConfigContext
- 1.10.4. MutableContext
- 1.11. Advanced Topics
- Advanced Topics
- 2. Introduction
❱
- 2.1. Monad Transformers
- 2.2. EitherT
- 2.3. OptionalT
- 2.4. MaybeT
- 2.5. ReaderT
- 2.6. StateT
- Complete HKT Examples
- 3. An Order Workflow
- 4. Draughts Game
- Hands-On Learning
- 5. Introduction
❱
- 5.1. Interactive Tutorials
- 5.2. Core Types: Foundations
- 5.3. Core Types: Error Handling
- 5.4. Core Types: Advanced
- 5.5. Effect API
- 5.6. Optics: Lens & Prism
- 5.7. Optics: Traversals & Practice
- 5.8. Optics: Fluent & Free DSL
- 5.9. Optics: Focus DSL
- 5.10. Learning Paths
- 5.11. Solutions Guide
- 5.12. Troubleshooting
- Optics I: Fundamentals
- 6. Introduction
❱
- 6.1. What Are Optics?
- 6.2. Lenses
- 6.3. Prisms
- 6.4. Affines
- 6.5. Isomorphisms
- 6.6. Composition Rules
- Optics II: Collections
- 7. Introduction
❱
- 7.1. Traversals
- 7.2. Folds
- 7.3. Getters
- 7.4. Setters
- 7.5. Common Data Structures
- 7.6. Limiting Traversals
- 7.7. List Decomposition
- Optics III: Precision and Filtering
- 8. Introduction
❱
- 8.1. Filtered Optics
- 8.2. Indexed Optics
- 8.3. Each Typeclass
- 8.4. String Traversals
- 8.5. Indexed Access
- 8.6. Advanced Prism Patterns
- 8.7. Profunctor Optics
- Optics IV: Java-Friendly APIs
- 9. Introduction
❱
- 9.1. Focus DSL
- 9.2. Kind Field Support
- 9.3. Fluent API
- 9.4. Free Monad DSL
- 9.5. Interpreters
- Optics V: Integration and Recipes
- 10. Introduction
❱
- 10.1. Composing Optics
- 10.2. Core Type Integration
- 10.3. Optics Extensions
- 10.4. Cookbook
- 10.5. Auditing Complex Data
- Integration Guides
- 11. Introduction
❱
- 11.1. Spring Boot Integration
- 11.2. Migrating to Functional Errors
- Foundations: Higher-Kinded Types
- 12. Introduction
❱
- 12.1. HKT Introduction
- 12.2. Concepts
- 12.3. Type Arity
- 12.4. Usage Guide
- 12.5. Basic HKT Examples
- 12.6. Quick Reference
- 12.7. Extending
- Foundations: Type Classes
- 13. Introduction
❱
- 13.1. Functional Api
- 13.2. Functor
- 13.3. Applicative
- 13.4. Alternative
- 13.5. Monad
- 13.6. MonadError
- 13.7. Semigroup and Monoid
- 13.8. Foldable and Traverse
- 13.9. MonadZero
- 13.10. Selective
- 13.11. Profunctor
- 13.12. Bifunctor
- 13.13. Natural Transformation
- 13.14. For Comprehension
- Foundations: Core Types
- 14. Introduction
❱
- 14.1. Supported Types
- 14.2. CompletableFuture
- 14.3. Either
- 14.4. Identity
- 14.5. IO
- 14.6. Lazy
- 14.7. List
- 14.8. Maybe
- 14.9. Optional
- 14.10. Reader
- 14.11. State
- 14.12. Stream
- 14.13. Trampoline
- 14.14. Free
- 14.15. Free Applicative
- 14.16. Coyoneda
- 14.17. Try
- 14.18. Validated
- 14.19. Writer
- 14.20. Const
- More Functional Thinking
- 15. Blog series
- Glossary
- 16. Functional Programming Terminology
- Project Info
- 17. Contributing
- 18. Code of Conduct
- 19. License