我有一个功能f :: (a -> a) -> a -> ((a -> a), a)
。(在特定情况下a
是Int
,但这无关紧要。)
我有一个函数initial :: a -> a
和一个输入列表(inputs :: [a]
)。
我需要应用f
到 的所有元素inputs
,但是对于每个元素,我需要获取上一次迭代的fst
部分输出并将其作为下一次迭代(a -> a)
的输入的一部分。作为输出,我需要一个 type 列表[a]
,它是snd
每次迭代输出的一部分。
如何递归地应用于输出f
的fst
部分和 的元素inputs
,同时建立snd
输出的中间部分的列表?