gpt4 book ai didi

function - Haskell 中的泛型函数组合

转载 作者:行者123 更新时间:2023-12-04 14:51:44 25 4
gpt4 key购买 nike

我正在阅读 here ,我注意到,例如,如果我有以下函数定义:

a :: Integer->Integer->Integer
b :: Integer->Bool

下面的表达式是 无效 :
(b . a) 2 3

很奇怪,组合的函数必须只有一个参数。

这种限制是因为在 Haskell 中定义最通用的方法时出现问题还是有其他原因?

我是 Haskell 的新手,所以我问了一些可能没用的问题。

最佳答案

当你这样做 a 2 3 , 你没有申请 a到 2 个论点。您实际上是在申请 a它是唯一的参数,产生一个函数,然后将该函数应用于3。所以你实际上做了2个应用程序。所以从某种意义上说,你所拥有的并不等同于:

a :: (Integer, Integer) -> Integer
b :: Integer -> Integer
(b . a) (2, 3)

你可以做到这一点,顺便说一句
(b . a 2) 3

关于function - Haskell 中的泛型函数组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4551419/

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