- Introduction to Higher-Kinded-J
- 1. Quickstart
- 2. Cheat Sheet
- 3. Effect Path API
❱
- 3.1. Effect Path Overview
- 3.2. Capability Interfaces
- 3.3. Path Types
❱
- 3.3.1. MaybePath
- 3.3.2. EitherPath
- 3.3.3. TryPath
- 3.3.4. IOPath
- 3.3.5. ValidationPath
- 3.3.6. IdPath
- 3.3.7. OptionalPath
- 3.3.8. GenericPath
- 3.3.9. TrampolinePath
- 3.3.10. FreePath
- 3.3.11. FreeApPath
- 3.3.12. VTaskPath
- 3.3.13. VStreamPath
- 3.4. Composition Patterns
- 3.5. ForPath Comprehension
❱
- 3.5.1. ForPath Examples
- 3.5.2. ForPath Parallel Composition
- 3.5.3. ForPath Traverse
- 3.6. Type Conversions
- 3.7. Focus-Effect Integration
- 3.8. Capstone: Effects Meet Optics
- 3.9. Patterns and Recipes
- 3.10. Migration Cookbook
- 3.11. Common Compiler Errors
- 3.12. Advanced Effects
- 3.13. Effect Contexts
❱
- 3.13.1. ErrorContext
- 3.13.2. Optional Contexts
- 3.13.3. ConfigContext
- 3.13.4. MutableContext
- 3.13.5. RequestContext
- 3.13.6. SecurityContext
- 3.13.7. Context vs ConfigContext
- 3.14. Advanced Topics
- 3.15. Production Readiness
- 3.16. Effect Handlers
❱
- 3.16.1. Effect Handler Reference
- 4. Resilience Patterns
❱
- 4.1. Retry
- 4.2. Circuit Breaker
- 4.3. Bulkhead
- 4.4. Saga
- 4.5. Combined Patterns
- 5. Advanced Topics
❱
- 5.1. Stack Archetypes
- 5.2. Monad Transformers
- 5.3. EitherT
- 5.4. OptionalT
- 5.5. MaybeT
- 5.6. ReaderT
- 5.7. StateT
- 5.8. WriterT
- 5.9. MTL Capabilities
❱
- 5.9.1. MonadReader
- 5.9.2. MonadState
- 5.9.3. MonadWriter
- 5.9.4. Combining Capabilities
- 6. Hands-On Learning
❱
- 6.1. Interactive Tutorials
- 6.2. Core Types: Foundations
- 6.3. Core Types: Error Handling
- 6.4. Core Types: Advanced
- 6.5. Effect API
- 6.6. Concurrency: VTask
- 6.7. Concurrency: Scope & Resource
- 6.8. Optics: Lens & Prism
- 6.9. Optics: Traversals & Practice
- 6.10. Optics: Fluent & Free DSL
- 6.11. Optics: Focus DSL
- 6.12. Expression: ForState
- 6.13. Expression: ForPath Parallel
- 6.14. Resilience Patterns
- 6.15. Learning Paths
- 6.16. Solutions Guide
- 6.17. Troubleshooting
- 7. Examples Gallery
❱
- 7.1. Order Processing Workflow
❱
- 7.1.1. Order Walkthrough
- 7.1.2. Effect Composition
- 7.1.3. Production Patterns
- 7.1.4. Concurrency and Scale
- 7.2. Draughts Game
❱
- 7.2.1. Building the Game
- 7.3. Market Data Pipeline
❱
- 7.3.1. Building the Pipeline
- 7.3.2. Alerts and Resilience
- 7.3.3. Quick Reference
- 7.4. Portfolio Risk Analysis
- 7.5. Payment Processing
- 8. Optics I: Fundamentals
❱
- 8.1. What Are Optics?
- 8.2. Lenses
- 8.3. Prisms
- 8.4. Affines
- 8.5. Isomorphisms
- 8.6. Composition Rules
- 8.7. Coupled Fields
- 9. Optics II: Collections
❱
- 9.1. Traversals
- 9.2. Folds
- 9.3. Getters
- 9.4. Setters
- 9.5. Common Data Structures
- 9.6. Limiting Traversals
- 9.7. List Decomposition
- 10. Optics III: Precision and Filtering
❱
- 10.1. Filtered Optics
- 10.2. Indexed Optics
- 10.3. Each Typeclass
- 10.4. String Traversals
- 10.5. Indexed Access
- 10.6. Advanced Prism Patterns
- 10.7. Profunctor Optics
- 11. Optics IV: Java-Friendly APIs
❱
- 11.1. Focus DSL
❱
- 11.1.1. Navigation and Composition
- 11.1.2. Type Class and Effect Integration
- 11.1.3. Custom Containers and Code Generation
- 11.1.4. Focus DSL Reference
- 11.2. Optics for External Types
❱
- 11.2.1. Taming JSON with Jackson
- 11.2.2. Database Records with JOOQ
- 11.2.3. Focus DSL with External Libraries
- 11.3. Kind Field Support
- 11.4. Fluent API
- 11.5. Free Monad DSL
- 11.6. Interpreters
- 12. Optics V: Integration and Recipes
❱
- 12.1. Composing Optics
- 12.2. Core Type Integration
- 12.3. Optics Extensions
- 12.4. Cookbook
- 12.5. Auditing Complex Data
- 13. Tooling
❱
- 13.1. Build Plugins
- 13.2. Compile-Time Checks
- 13.3. Diagnostics
- 13.4. Traversal Generator Plugins
- 14. Integration Guides
❱
- 14.1. Spring Boot Integration
- 14.2. Migrating to Functional Errors
- 14.3. EffectBoundary Integration
- 15. Foundations: Higher-Kinded Types
❱
- 15.1. HKT Introduction
- 15.2. Concepts
- 15.3. Type Arity
- 15.4. Usage Guide
- 15.5. Basic HKT Examples
- 15.6. Quick Reference
- 15.7. Extending
- 16. Foundations: Type Classes
❱
- 16.1. Functional Api
- 16.2. Functor
- 16.3. Applicative
- 16.4. Alternative
- 16.5. Monad
- 16.6. MonadError
- 16.7. Semigroup and Monoid
- 16.8. Foldable and Traverse
- 16.9. MonadZero
- 16.10. Selective
- 16.11. Profunctor
- 16.12. Bifunctor
- 16.13. Natural Transformation
- 16.14. For Comprehension
❱
- 16.14.1. Parallel Composition
- 16.14.2. Traverse Within Comprehensions
- 16.14.3. Optics Integration
- 16.14.4. MTL & ForState Bridge
- 16.15. ForState Comprehension
- 16.16. Choosing Abstraction Levels
- 17. Foundations: Core Types
❱
- 17.1. Supported Types
- 17.2. CompletableFuture
- 17.3. Either
- 17.4. Identity
- 17.5. IO
- 17.6. Lazy
- 17.7. List
- 17.8. Maybe
- 17.9. Optional
- 17.10. Reader
- 17.11. Context
- 17.12. State
- 17.13. Stream
- 17.14. Trampoline
- 17.15. Free
- 17.16. Free Applicative
- 17.17. EitherF
- 17.18. Coyoneda
- 17.19. Try
- 17.20. Validated
- 17.21. VTask
❱
- 17.21.1. Structured Concurrency
- 17.21.2. Resource Management
- 17.22. VStream
❱
- 17.22.1. HKT and Type Classes
- 17.22.2. Parallel Operations
- 17.22.3. Performance
- 17.22.4. Resource-Safe Streaming
- 17.22.5. Advanced Features
- 17.23. Writer
- 17.24. Const
- 18. More Functional Thinking
- 19. Glossary
- 20. Release History
- 21. Benchmarks & Performance
- Project Info
- 22. Contributing
- 23. Code of Conduct
- 24. License