gpt4 book ai didi

haskell - 是否有惯用的pointfree方法通过另一个函数调用带参数的函数

转载 作者:行者123 更新时间:2023-12-04 18:04:46 24 4
gpt4 key购买 nike

我们有这些功能

foo x1 x2 ... xN =

f1 x =
f2 x =
...
fN x =

是否有此功能的惯用 pointfree 版本?
bar x1 x2 ... xn = foo (f1 x1) (f2 x2) ... (fN xN)

编辑

如果不是,我们可以以某种方式将此函数推广到 N 个参数吗?
applyF3 f f1 f2 f3 x1 x2 x3 = f (f1 x1) (f2 x2) (f3 x3)
bar = applyF3 foo f1 f2 f3

最佳答案

不是很地道:

import Control.Arrow

bar = curry . curry $ (f1 *** f2) *** f3 >>> (uncurry . uncurry $ foo)

添加更多 curry/uncurry s 获取更多参数。

有针对性的版本要清楚得多。

关于haskell - 是否有惯用的pointfree方法通过另一个函数调用带参数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32165578/

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