* → *
)。高階型、Higher Rank Typesとも。HKTと略される。 'a list
は型ではなく型コンストラクタという扱いになっているが、HKTのあるHaskell( List A
または [A]
)では * → *
という A
型を受け取って [A]
を返す型である。haskellclass Functor f where
fmap :: (a -> b) -> f a -> f b
f
はまさに * → *
という型を要請している。