将两个函数的输出提供给另一个函数Haskell

时间:2017-03-17 13:56:31

标签: function haskell input composition

我有三个功能。

function1 :: [Person] -> [String]

function2 :: String -> [Person] -> [(String, Int)]

function3 :: [String] -> [(String, Int)] -> [String]

我希望将function1function2的输出传递给function3。 E.g function3(function1 function2)

但是function1function2都有自己的参数,所以它看起来像:

function3(function1([Person]) function2(String [Person]))

我查看了功能组合,但是当你将一个功能的输出提供给另一个功能时。在这种情况下,我想将两个单独函数的输出提供给另一个函数。

谢谢。

1 个答案:

答案 0 :(得分:3)

您的函数调用不需要括号。 f (g h)表示f应用于g h的单个参数。您可能需要function3 (function1 ...) (function2 ...),其中...是每个函数的参数。