gpt4 book ai didi

Haskell:嵌套仿函数上的 fmap

转载 作者:行者123 更新时间:2023-12-02 08:20:55 25 4
gpt4 key购买 nike

在仿函数列表上抽象映射函数的方法是什么?

我了解基本应用

λ: [(+2),(*2)] <*> [10,20]
[12,22,20,40]

但是我该如何处理[(+2),(*2)] ???? [刚好 10,刚好 20]

我能想到的所有方法看起来都很复杂。

例如:

λ: (<$>) <$> [(+2),(*2)]  <*> [Just 10, Just 20]
[Just 12,Just 22,Just 20,Just 40]

最佳答案

您可以使用 Data.Functor.Compose将嵌套的 Functor/Applicatives 视为单个 Functor/Applicative:

ghci> import Data.Functor.Compose
ghci> getCompose (Compose [pure (+2), pure (*2)] <*> Compose [Just 10, Just 20])
[Just 12,Just 22,Just 20,Just 40]

但在这种情况下,(Compose, getCompose) 新类型的噪声也许不值得。

关于Haskell:嵌套仿函数上的 fmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37374570/

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