gpt4 book ai didi

haskell - 删除重复(使用 Applicative ((->) t),也许?)

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

我正在为别人的 Stack Overflow 问题玩一个简单的函数,并写下表达式:

f a x ++ f a y

显然,这是在现实生活中编写该表达式的最佳方式,因为无论如何我在范围内都有所有这些变量,但我看到了 f a 的重复。 ,并想“嘿,也许您可​​以使用 Applicative 函数实例将其删除”。我结束了:
liftA2 (++) (flip f x) (flip f y) a

这太可怕了。有没有更好的方法来删除这种重复?显然我也可以通过绑定(bind) f a 来删除重复。到 where 中的某事子句,但这是作为使用内置函数的练习。

最佳答案

你可以做

((++) `on` f a) x y

那不使用 Applicative ,虽然(对不起)。

关于haskell - 删除重复(使用 Applicative ((->) t),也许?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32874688/

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