어제 폴드좀 파다 보니, 결국에는 Foldable 나오고 모나드 나오더라.


폴드 재밌는게, foldr과 foldl은 서로를 정의할 수 있음.

flodl f a xs = foldr (λb g x -> g (f x b)) id xs a

foldl f a xs = foldr (flip (.) . flip f) id xs a

foldr f a xs = foldl (λg b x -> g (f b x)) id xs a

foldr f a xs = foldl ((. f) . (.)) id xs a

이런 식.


모나드는 타입클래스, 폴드/고차함수에 이은 세 번째 장벽이야.



이걸 다 이해할 수 있었으면 좋겠다..

이번에는 포기하지 말아야지. 남는게 시간이니.