gpt4 book ai didi

haskell - ((->) t) 在 Haskell 中是什么意思?

转载 作者:行者123 更新时间:2023-12-03 15:18:25 25 4
gpt4 key购买 nike

在 Haskell 中, ((->) t) 在实例的类型签名中是什么意思?例如 Functor、Applicative 和 Monad 都有一个实例:

Functor ((->) r)

我找不到任何关于这种类型签名意味着什么的解释,而且它对搜索引擎的抵抗力很强。

最佳答案

->是一个中缀类型构造函数。您可以将其与 : 进行比较- 列表类型的中缀值构造函数。使用 :单独我们在它周围加上括号,使它成为一个前缀函数应用程序:
(:) a ba : b 相同

同样,(->) a ba -> b 相同, 函数类型来自 ab .
(->) a是类型构造函数的部分应用,它本身是一种类型构造函数 * -> * .

您可以将其视为“来自 a 的函数类型的构造函数”。例如。 (->) IntInt 中函数类型的构造函数.你可以通过传递另一个类型来构造完整的函数类型:(->) Int StringInt 中的函数类型至String .
instance Functor (->) afmap 的仿函数转换 a -> b 的操作函数转换为 a -> c功能。您可以将其与类似的 instance Functor (Either a) 进行比较哪些 map Either a bEither a c通过应用 fmap Right 的参数值(value)观。

关于haskell - ((->) t) 在 Haskell 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18561859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com