gpt4 book ai didi

haskell - 将 liftA2 与函数结合使用

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

我想知道这是如何工作的。

x 9001 = True
x _ = False

g 42 = True
g _ = False

(liftA2 (||) x g) 42 = True

liftA2 :: Applicative f => (a -> b -> c) -> f a -> f b -> f c
x :: (Eq a, Num a) => a -> Bool
g :: (Eq a, Num a) => a -> Bool

x 和 g 的类型(a -> Bool)如何对应 liftA2 期望的(f a)?

最佳答案

请记住,((->) a) 是一个 Monad(也称为 reader monad),因此也是一个 Applicative 。已拍摄from the source for base

instance Applicative ((->) a) where
pure = const
(<*>) f g x = f x (g x)

然后,liftA2 (||) x g(Num a, Eq a) => a -> Bool 类型的函数,用于检查是否有两个结果将参数应用于 xg 的结果是 True

关于haskell - 将 liftA2 与函数结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40066820/

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