Glossary of Functional Programming Terms

What This Section Covers

  • Key terminology used throughout Higher-Kinded-J documentation
  • Explanations tailored for mid-level Java developers
  • Practical examples to reinforce understanding
  • Quick reference for concepts you encounter whilst coding

This glossary provides clear, practical explanations of functional programming and Higher-Kinded-J concepts. Each term includes Java-friendly explanations and examples where helpful.


Type System & Higher-Kinded Types

Variance, higher-kinded type simulation, witnesses, and phantom types.

Contravariant, Covariant, Defunctionalisation, Higher-Kinded Type (HKT), Invariant, Kind, Phantom Type, Type Constructor, TypeArity, Variance Summary Table, Witness Type, WitnessArity

Type Classes

Functor, Monad, and the rest of the abstraction hierarchy.

Applicative, Bifunctor, Coyoneda, Free Applicative, Functor, Instances Facade, Map Fusion, Monad, Monad Transformer, MonadError, Monoid, Natural Transformation, Profunctor, Selective, Semigroup, Update

Data & Core Effect Types

Core data structures and the effect types built on them.

Choice, Cons, Const, Either, EitherOrBoth, IO, Maybe, NonEmptyList, Snoc, TimeSource, Try, Tuple, Unit, Validated

Effect Paths & Effect Handlers

The Effect Path API and the Free-monad effect-handler machinery.

BoundSet, @ComposeEffects, Continuation-Passing Style (CPS), Effect, Effect Algebra, Effect Path, Effect-Optics Bridge, @EffectAlgebra, EitherF, foldMap, Free Monad, Inject, Interpreter (Effect Handler), Leg, mapK, Path, ProgramAnalyser, Railway-Oriented Programming, recover, via, VResultPath

Optics, Validation & Mapping

Lenses, prisms, traversals, the Focus DSL, and record mapping.

Affine, At, Edits, ErrorEnvelope, FieldError, Focus DSL, FocusPath, Fold, @GenerateAssembly, @GenerateErrorEnvelope, @GenerateMapping, @GenerateMerge, Iso (Isomorphism), Lens, MappingLaws, MappingSpec, Parse, Don't Validate, Prism, Setter, StandardCodecs, Traversal, UpdateSpec, Validated Assembly, ValidatedPrism

Concurrency & Resilience

Virtual-thread concurrency, structured scopes, and resilience.

Bracket Pattern, Bulkhead, Circuit Breaker, Resilience Combinators, Resource (VTask), Scope, ScopeJoiner, Structured Concurrency, Virtual Thread