我最近一直在从这个很棒的网站学习haskell,我刚刚在高阶函数一章中了解了将函数作为参数传递。我可以看到将函数作为参数传递是非常有用的,但是根据我目前(lowley)的理解,您需要指定此函数中的参数数量,鉴于此函数,这可能非常有限:
--takes a function and returns a function that has flipped arguments
flip' :: (a -> b -> c) -> (b -> a -> c) --very limited
flip' f = g
where g x y = f y x
有用,但仅限于接受两个参数的函数,有没有办法编写一个接受具有任意数量参数的函数的函数定义?我的猜测必须是某种参数列表,但我似乎找不到任何信息。谢谢!