4 ms·
> Examples include Foldable, Traversable, Functor, and Monad This wording is confusing. Generally we don't think of Foldable, Traversable, Functor, and Monad a
by dwohnitmok 5y ago
> Examples include Foldable, Traversable, Functor, and Monad
This wording is confusing. Generally we don't think of Foldable, Traversable, Functor, and Monad as higher-kinded types themselves, they are typeclasses on type constructors. That is `Monad(List)` is not itself a type. This is especially true in Haskell, which is where the links for those typeclasses go to.
This is less true for e.g. Scala, where `Monad[List]` is indeed technically another type, even if it's not usually used as such.
However various reifications of those typeclasses are indeed examples of higher-kinded types (e.g. `Free`, the free monad).