- Introduction to Higher-Kinded-J
- 1. Quickstart
- 2. Cheat Sheet
- 3. Where to Start
- 4. Effect Path API
❱
- 4.1. Quickstart
- 4.2. Core Paths
❱
- 4.2.1. Migration Cookbook
- 4.2.2. Path Types Overview
- 4.2.3. MaybePath
- 4.2.4. EitherPath
- 4.2.5. TryPath
- 4.2.6. ValidationPath
- 4.2.7. IOPath
- 4.2.8. VTaskPath
- 4.2.9. Composition Patterns
- 4.2.10. ForPath Comprehension
❱
- 4.2.10.1. ForPath Examples
- 4.3. Optics Integration
❱
- 4.3.1. Capstone: Effects Meet Optics
- 4.4. Advanced Paths
❱
- 4.4.1. IdPath
- 4.4.2. OptionalPath
- 4.4.3. GenericPath
- 4.4.4. TrampolinePath
- 4.4.5. FreePath
- 4.4.6. FreeApPath
- 4.4.7. VStreamPath
- 4.4.8. ForPath Parallel Composition
- 4.4.9. ForPath Traverse
- 4.4.10. Advanced Effects
- 4.4.11. Effect Contexts
❱
- 4.4.11.1. ErrorContext
- 4.4.11.2. Optional Contexts
- 4.4.11.3. ConfigContext
- 4.4.11.4. MutableContext
- 4.4.11.5. RequestContext
- 4.4.11.6. SecurityContext
- 4.4.11.7. Context vs ConfigContext
- 4.4.12. Effect Handlers
❱
- 4.4.12.1. Effect Handler Reference
- 4.4.13. Patterns and Recipes
- 4.4.14. Resilience Patterns
❱
- 4.4.14.1. Retry
- 4.4.14.2. Circuit Breaker
- 4.4.14.3. Bulkhead
- 4.4.14.4. Saga
- 4.4.14.5. Combined Patterns
- 4.5. Reference
❱
- 4.5.1. Type Conversions
- 4.5.2. Common Compiler Errors
- 4.5.3. Production Readiness
- 5. Optics
❱
- 5.1. Quickstart
- 5.2. Annotations at a Glance
- 5.3. Fundamentals
❱
- 5.3.1. What Are Optics?
- 5.3.2. Lenses
- 5.3.3. Prisms
❱
- 5.3.3.1. Prism Toolkit
- 5.3.4. Affines
- 5.3.5. Isomorphisms
- 5.3.6. Composition Rules
- 5.3.7. Coupled Fields
- 5.4. Collections
❱
- 5.4.1. Traversals
- 5.4.2. Folds
- 5.4.3. Getters
- 5.4.4. Setters
- 5.4.5. Common Data Structures
- 5.4.6. Limiting Traversals
- 5.4.7. List Decomposition
- 5.5. Precision and Filtering
❱
- 5.5.1. Filtered Optics
- 5.5.2. Indexed Optics
❱
- 5.5.2.1. Indexed Optics: Advanced Patterns
- 5.5.3. Each Typeclass
- 5.5.4. String Traversals
- 5.5.5. Indexed Access
- 5.5.6. Advanced Prism Patterns
❱
- 5.5.6.1. Advanced Prism Patterns: Recipes
- 5.5.7. Profunctor Optics
❱
- 5.5.7.1. Profunctor Optics: Recipes
- 5.6. Java-Friendly APIs
❱
- 5.6.1. Focus DSL
❱
- 5.6.1.1. Navigation and Composition
- 5.6.1.2. Type Class and Effect Integration
- 5.6.1.3. Custom Containers and Code Generation
- 5.6.1.4. Focus DSL Reference
- 5.6.2. Optics for External Types
❱
- 5.6.2.1. Taming JSON with Jackson
- 5.6.2.2. Database Records with JOOQ
- 5.6.2.3. Focus DSL with External Libraries
- 5.6.3. Kind Field Support
- 5.6.4. Fluent API
❱
- 5.6.4.1. Fluent API Field Guide
- 5.7. Integration and Recipes
❱
- 5.7.1. Composing Optics
- 5.7.2. Core Type Integration
- 5.7.3. Optics Extensions
- 5.7.4. Optic-Driven Batching
- 5.7.5. Plan Introspection and Guardrails
- 5.7.6. Cookbook
- 5.7.7. Auditing Complex Data
- 5.8. Advanced Optics
❱
- 5.8.1. Free Monad DSL
- 5.8.2. Interpreters
- 5.9. Reference
❱
- 5.9.1. Optic Capabilities
- 5.9.2. Conversions
- 5.9.3. Common Compiler Errors
- 5.9.4. Production Readiness
- 5.9.5. Decision Trees
- 6. Monad Transformers & MTL
❱
- 6.1. Path or Transformer?
- 6.2. Quickstart
- 6.3. Transformers at a Glance
- 6.4. Migration Cookbook
- 6.5. Stack Archetypes
- 6.6. Monad Transformers
- 6.7. EitherT
- 6.8. OptionalT
- 6.9. MaybeT
- 6.10. ReaderT
- 6.11. StateT
- 6.12. WriterT
- 6.13. MTL Capabilities
❱
- 6.13.1. MonadReader
- 6.13.2. MonadState
- 6.13.3. MonadWriter
- 6.13.4. Combining Capabilities
- 6.14. Axes of Transformer Transformation
- 6.15. Common Compiler Errors
- 6.16. Capstone: A Multi-Capability Workflow
- 7. Foundations
❱
- 7.1. One Line, Six Layers
- 7.2. Lifting the Hood
- 7.3. Higher-Kinded Types
❱
- 7.3.1. HKT Introduction
- 7.3.2. Concepts
- 7.3.3. Type Arity
- 7.3.4. Usage Guide
- 7.3.5. Basic HKT Examples
- 7.3.6. Quick Reference
- 7.3.7. Extending
- 7.3.8. Foundations FAQ
- 7.4. Type Classes
❱
- 7.4.1. Functional Api
- 7.4.2. Obtaining Instances
- 7.4.3. Functor
- 7.4.4. Applicative
- 7.4.5. Alternative
- 7.4.6. Monad
- 7.4.7. MonadError
- 7.4.8. Semigroup and Monoid
- 7.4.9. Foldable and Traverse
- 7.4.10. MonadZero
- 7.4.11. Selective
- 7.4.12. Profunctor
- 7.4.13. Bifunctor
- 7.4.14. Natural Transformation
- 7.4.15. For Comprehension
❱
- 7.4.15.1. Parallel Composition
- 7.4.15.2. Traverse Within Comprehensions
- 7.4.15.3. Optics Integration
- 7.4.15.4. MTL & ForState Bridge
- 7.4.16. ForState Comprehension
- 7.4.17. Choosing Abstraction Levels
- 7.5. Core Types
❱
- 7.5.1. Supported Types
- 7.5.2. CompletableFuture
- 7.5.3. Either
- 7.5.4. Identity
- 7.5.5. IO
- 7.5.6. Lazy
- 7.5.7. List
- 7.5.8. Maybe
- 7.5.9. Optional
- 7.5.10. Reader
- 7.5.11. Context
- 7.5.12. State
- 7.5.13. Stream
- 7.5.14. Trampoline
- 7.5.15. Free
- 7.5.16. Free Applicative
- 7.5.17. EitherF
- 7.5.18. Coyoneda
- 7.5.19. Try
- 7.5.20. Validated
- 7.5.21. VTask
❱
- 7.5.21.1. Structured Concurrency
- 7.5.21.2. Resource Management
- 7.5.22. VStream
❱
- 7.5.22.1. HKT and Type Classes
- 7.5.22.2. Parallel Operations
- 7.5.22.3. Performance
- 7.5.22.4. Resource-Safe Streaming
- 7.5.22.5. Advanced Features
- 7.5.23. Writer
- 7.5.24. Const
- 8. Examples Gallery
❱
- 8.1. Order Processing Workflow
❱
- 8.1.1. Order Walkthrough
- 8.1.2. Effect Composition
- 8.1.3. Production Patterns
- 8.1.4. Concurrency and Scale
- 8.2. Draughts Game
❱
- 8.2.1. Building the Game
- 8.3. Market Data Pipeline
❱
- 8.3.1. Building the Pipeline
- 8.3.2. Alerts and Resilience
- 8.3.3. Quick Reference
- 8.4. Portfolio Risk Analysis
- 8.5. Payment Processing
- 9. Hands-On Learning
❱
- 9.1. Interactive Tutorials
- 9.2. Core Types
❱
- 9.2.1. Foundations
❱
- 9.2.1.1. Cheatsheet
- 9.2.2. Error Handling
- 9.2.3. Advanced
- 9.3. Effect API
❱
- 9.3.1. Cheatsheet
- 9.4. Monad Transformers
- 9.5. Concurrency
❱
- 9.5.1. VTask
- 9.5.2. Scope & Resource
- 9.6. Context
- 9.7. Effect Handlers
- 9.8. Optics
❱
- 9.8.1. Lens & Prism
- 9.8.2. Traversals & Practice
- 9.8.3. Fluent & Free DSL
- 9.8.4. Focus DSL
- 9.9. Expression
❱
- 9.9.1. ForState
- 9.9.2. ForPath Parallel
- 9.10. Resilience Patterns
- 9.11. Capstone: One Line, Six Layers Grows Up
- 9.12. Learning Paths
- 9.13. Solutions Guide
- 9.14. Troubleshooting
- 10. Tooling
❱
- 10.1. Build Plugins
- 10.2. Manual Gradle and Maven Setup
- 10.3. Compile-Time Checks
- 10.4. Migration Recipes
- 10.5. Diagnostics
- 10.6. Traversal Generator Plugins
- 10.7. PCollections Integration
- 10.8. PCollections Optics
- 10.9. Claude Code Skills
- 10.10. Testing With hkj-test
- 11. Spring Integration
❱
- 11.1. Spring Boot Integration
- 11.2. Migrating to Functional Errors
- 11.3. EffectBoundary Integration
- 12. Reference
❱
- 12.1. More Functional Thinking
- 12.2. Glossary
- 12.3. Release History
- 12.4. Benchmarks & Performance
- 13. Project Info
❱
- 13.1. Contributing
- 13.2. Code of Conduct
- 13.3. License