謎
とすると
より
より
をfoldrを使って表すと
とすると
から
ここでとを代入して計算すると
foldrc f c [] = foldr ((.) . f) c [] -- foldr _ c [] = c foldrc f c [] = c -- foldrc f c xs = foldr ((.) . f) c xs と 仮定 foldrc f c (x:xs) = foldr ((.) . f) c (x:xs) {- = {foldr} ((.) . f) x (foldr ((.) . f) c xs = {仮定} ((.) . f) x (foldrc f c xs) = {(.)} ((.) (f x)) (foldrc f c xs) = {(.)} f x . foldrc f c xs -}
ゆえに
foldrc :: (a -> b -> b) -> (c -> b) -> [a] -> c -> b foldrc _ c [] = c foldrc f c (x:xs) = f x . foldrc f c xs
だからといってどうというものでもないが