- Introduction to Higher-Kinded-J
- Getting Started
- 1. HKT Introduction
❱
- 1.1. Concepts
- 1.2. Usage Guide
- 1.3. Basic HKT Examples
- 1.4. Quick Reference
- 1.5. Extending
- Type Classes
- 2. Functional Api
❱
- 2.1. Functor
- 2.2. Applicative
- 2.3. Monad
- 2.4. MonadError
- 2.5. Semigroup and Monoid
- 2.6. Foldable and Traverse
- 2.7. MonadZero
- 2.8. Profunctor
- 2.9. For Comprehension
- Monads in Practice
- 3. Supported Types
❱
- 3.1. CompletableFuture
- 3.2. Either
- 3.3. Identity
- 3.4. IO
- 3.5. Lazy
- 3.6. List
- 3.7. Maybe
- 3.8. Optional
- 3.9. Reader
- 3.10. State
- 3.11. Try
- 3.12. Validated
- 3.13. Writer
- Advanced Topics
- 4. Monad Transformers
❱
- 4.1. EitherT
- 4.2. OptionalT
- 4.3. MaybeT
- 4.4. ReaderT
- 4.5. StateT
- Complete HKT Examples
- 5. An Order Workflow
- 6. Draughts Game
- Optics
- 7. Optics Introduction
❱
- 7.1. Lenses
- 7.2. Prisms
- 7.3. Isomorphisms
- 7.4. Traversals
- 7.5. Profunctor Optics
- 7.6. Combining Optics - Validation
- 7.7. Practical Examples
- 7.8. Auditing Complex Data - The Power of Optics
- More Functional Thinking
- 8. Blog series
- Project Info
- 9. Contributing
- 10. Code of Conduct
- 11. License