gpt4 book ai didi

haskell - 需要知道 <*> <$> 和 .在 haskell 做

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

这些运营商在做什么?

(.) :: (b -> c) -> (a -> b) -> a -> c
(<$>) :: Functor f => (a -> b) -> f a -> f b
(<*>) :: Applicative f => f (a -> b) -> f a -> f b
当我看到签名时,我不知道。也许一些简单易懂的例子会对我有所帮助。

最佳答案

我也在学习 Haskell,我的建议是看看 Learn You a Haskell for Great Good! ,更准确地说:

  • 对于 (.)阅读Function composition
  • 对于 <$><*>阅读Applicative functors

  • 在本质上:
  • (.)是函数组合:如果你有g :: a -> bf :: b -> c然后 f . g本质上是 f(g(x)) : 第一次使用ga获取 b然后使用 f在那b获取 c
  • <$>接受一个函数,接受一个 a并返回 b , 和一个包含 a 的仿函数, 它返回一个包含 b 的仿函数.所以<$>fmap :: (a -> b) -> f a -> f b 相同
  • <*>接受一个仿函数,该仿函数包含一个采用 a 的函数并返回 b , 和一个包含 a 的仿函数, 它返回一个包含 b 的仿函数.所以<*>一种从仿函数中提取函数并将其应用于仿函数内部的参数,最后将结果返回到仿函数

  • 备注 您在本书章节中找到的解释比我上面的尝试更好

    关于haskell - 需要知道 <*> <$> 和 .在 haskell 做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6280585/

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