- 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.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
- 4. Advanced Topics
❱
- 4.1. Stack Archetypes
- 4.2. Monad Transformers
- 4.3. EitherT
- 4.4. OptionalT
- 4.5. MaybeT
- 4.6. ReaderT
- 4.7. StateT
- 5. Hands-On Learning
❱
- 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. Concurrency: VTask
- 5.7. Concurrency: Scope & Resource
- 5.8. Optics: Lens & Prism
- 5.9. Optics: Traversals & Practice
- 5.10. Optics: Fluent & Free DSL
- 5.11. Optics: Focus DSL
- 5.12. Expression: ForState
- 5.13. Learning Paths
- 5.14. Solutions Guide
- 5.15. Troubleshooting
- 6. Examples Gallery
❱
- 6.1. Order Processing Workflow
❱
- 6.1.1. Order Walkthrough
- 6.1.2. Effect Composition
- 6.1.3. Production Patterns
- 6.1.4. Concurrency and Scale
- 6.2. Draughts Game
❱
- 6.2.1. Building the Game
- 7. Optics I: Fundamentals
❱
- 7.1. What Are Optics?
- 7.2. Lenses
- 7.3. Prisms
- 7.4. Affines
- 7.5. Isomorphisms
- 7.6. Composition Rules
- 7.7. Coupled Fields
- 8. Optics II: Collections
❱
- 8.1. Traversals
- 8.2. Folds
- 8.3. Getters
- 8.4. Setters
- 8.5. Common Data Structures
- 8.6. Limiting Traversals
- 8.7. List Decomposition
- 9. Optics III: Precision and Filtering
❱
- 9.1. Filtered Optics
- 9.2. Indexed Optics
- 9.3. Each Typeclass
- 9.4. String Traversals
- 9.5. Indexed Access
- 9.6. Advanced Prism Patterns
- 9.7. Profunctor Optics
- 10. Optics IV: Java-Friendly APIs
❱
- 10.1. Focus DSL
- 10.2. Optics for External Types
❱
- 10.2.1. Taming JSON with Jackson
- 10.2.2. Database Records with JOOQ
- 10.2.3. Focus DSL with External Libraries
- 10.3. Kind Field Support
- 10.4. Fluent API
- 10.5. Free Monad DSL
- 10.6. Interpreters
- 11. Optics V: Integration and Recipes
❱
- 11.1. Composing Optics
- 11.2. Core Type Integration
- 11.3. Optics Extensions
- 11.4. Cookbook
- 11.5. Auditing Complex Data
- 12. Integration Guides
❱
- 12.1. Spring Boot Integration
- 12.2. Migrating to Functional Errors
- 13. Foundations: Higher-Kinded Types
❱
- 13.1. HKT Introduction
- 13.2. Concepts
- 13.3. Type Arity
- 13.4. Usage Guide
- 13.5. Basic HKT Examples
- 13.6. Quick Reference
- 13.7. Extending
- 14. Foundations: Type Classes
❱
- 14.1. Functional Api
- 14.2. Functor
- 14.3. Applicative
- 14.4. Alternative
- 14.5. Monad
- 14.6. MonadError
- 14.7. Semigroup and Monoid
- 14.8. Foldable and Traverse
- 14.9. MonadZero
- 14.10. Selective
- 14.11. Profunctor
- 14.12. Bifunctor
- 14.13. Natural Transformation
- 14.14. For Comprehension
- 14.15. ForState Comprehension
- 14.16. Choosing Abstraction Levels
- 15. Foundations: Core Types
❱
- 15.1. Supported Types
- 15.2. CompletableFuture
- 15.3. Either
- 15.4. Identity
- 15.5. IO
- 15.6. Lazy
- 15.7. List
- 15.8. Maybe
- 15.9. Optional
- 15.10. Reader
- 15.11. Context
- 15.12. State
- 15.13. Stream
- 15.14. Trampoline
- 15.15. Free
- 15.16. Free Applicative
- 15.17. Coyoneda
- 15.18. Try
- 15.19. Validated
- 15.20. VTask
❱
- 15.20.1. Structured Concurrency
- 15.20.2. Resource Management
- 15.21. VStream
❱
- 15.21.1. HKT and Type Classes
- 15.22. Writer
- 15.23. Const
- 16. More Functional Thinking
- 17. Glossary
- 18. Release History
- 19. Benchmarks & Performance
- Project Info
- 20. Contributing
- 21. Code of Conduct
- 22. License