【发布时间】:2015-04-23 04:59:09
【问题描述】:
我在看下面的函数:
fmap :: (a -> b) -> f a -> f b
我想了解“f”是什么,例如(f a 或f b)。我正在阅读的文章将其描述为“盒子”,但它的实际正确名称是什么?它只是一个类型变量吗?我想我把它弄糊涂了,认为它是一个函数应用程序——这是正确的吗?
【问题讨论】:
-
那不是
fmap的类型。是fmap :: Functor f => (a -> b) -> f a -> f b -
它是一个类型变量,是的,但我认为你的兴趣在于它是 kind。见Kinds and some type-foo (LYAH)。