这是有问题的练习
定义 function
compose :: [a → a] → (a → a)
,它将函数列表组合成单个函数,例如:
compose [f0,f1,f2] x = f0 (f1 (f2 x))
我编码的内容看起来像这样
compose :: [a -> a] -> (a -> a)
compose (f:fs) = f . (compose fs)
现在,如果参数 [a -> a] 为空,我需要返回一些东西,但我不知道是什么。所以对于案例来说compose []
。
提前致谢!
您使用
id
,它会将元素映射到自身上。这也将是您可以在函数上构建的幺半群中的中性元素:你的功能相当于: