function을 fold하기

Posted on June 6, 2016 by 주형

foldr은 리스트에서 값을 모아가는 함수입니다. 하스켈에서는 함수가 다른 값처럼 인자로 혹은, 리턴값으로 사용될 수 있죠. foldr에서도 리스트를 돌면서 함수를 만들어나갈 수 있습니다.

리스트에 있는 함수를들 전부 compose하는 함수를 생각해 봅시다.

좀 더 응용하면 값을 왼쪽부터 더해가는 suml을 foldr로 만들 수 있습니다.

f와 v를 찾으면 foldr로 suml’을 만들어낼 수 있습니다.

v 찾기

f 찾기

마찬가지로 foldl 역시 foldr을 사용해서 만드어낼 수 있습니다.

참고

http://www.cs.nott.ac.uk/~pszgmh/fold.pdf