小编jpa*_*ath的帖子

在黑线鳕的实例列表中*(星号)或其他类型的含义是什么

浏览各种软件包的haddocks我经常会看到这样的实例文​​档(Control.Category):

Category k (Coercion k)
Category * (->)
Run Code Online (Sandbox Code Playgroud)

或者这个(Control.Monad.Trans.Identity):

MonadTrans (IdentityT *)
Run Code Online (Sandbox Code Playgroud)

这种签名究竟意味着什么呢?它没有出现在源代码中,但我已经注意到它似乎发生在使用PolyKinds扩展的模块中.我怀疑它可能像TypeApplication但有一种类型.因此,例如最后一个示例意味着IdentityT如果它的第一个参数具有类型,则它是monad变换器*.

所以我的问题是:

  • 我的解释是否正确以及签名所涉及的具体内容是什么?
  • 在第一个Category例子中,我怎么知道这k是一种而不是一种类型?或者我只是要知道这个Category
  • 这段语法的源代码是什么?

我不是要求各种解释.

haskell haddock type-kinds polykinds

6
推荐指数
1
解决办法
308
查看次数

标签 统计

haddock ×1

haskell ×1

polykinds ×1

type-kinds ×1