1. Introduction to Higher-Kinded-J
  2. Getting Started
  3. HKT Introduction
    1. Concepts
    2. Usage Guide
    3. Basic HKT Examples
    4. Quick Reference
    5. Extending
  4. Type Classes
  5. Functional Api
    1. Functor
    2. Applicative
    3. Alternative
    4. Monad
    5. MonadError
    6. Semigroup and Monoid
    7. Foldable and Traverse
    8. MonadZero
    9. Selective
    10. Profunctor
    11. Bifunctor
    12. For Comprehension
  6. Monads in Practice
  7. Supported Types
    1. CompletableFuture
    2. Either
    3. Identity
    4. IO
    5. Lazy
    6. List
    7. Maybe
    8. Optional
    9. Reader
    10. State
    11. Stream
    12. Trampoline
    13. Free
    14. Try
    15. Validated
    16. Writer
    17. Const
  8. Advanced Topics
  9. Monad Transformers
    1. EitherT
    2. OptionalT
    3. MaybeT
    4. ReaderT
    5. StateT
  10. Complete HKT Examples
  11. An Order Workflow
  12. Draughts Game
  13. Optics
  14. Optics Introduction
    1. Lenses
    2. Prisms
    3. Advanced Prism Patterns
    4. Isomorphisms
    5. Traversals
    6. Folds
    7. Filtered Optics
    8. Indexed Optics
    9. Limiting Traversals
    10. Getters
    11. Setters
    12. At Type Class
    13. Ixed Type Class
    14. Profunctor Optics
    15. Combining Optics - Validation
    16. Fluent API for Optics
    17. Free Monad DSL
    18. Optic Interpreters
    19. Practical Examples
    20. Auditing Complex Data - The Power of Optics
    21. Working with Core Types and Optics
      1. Core Type Prisms
      2. Lens Extensions
      3. Traversal Extensions
  15. More Functional Thinking
  16. Blog series
  17. Glossary
  18. Functional Programming Terminology
  19. Project Info
  20. Contributing
  21. Code of Conduct
  22. License