{"image_url":null,"author_url":"https://blog.hatena.ne.jp/DigitalGhost/","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fdechimal.hatenadiary.com%2Fentry%2F20091121%2F1258833081\" title=\"Functor, Applicative, Foldable, Traversal\u306e\u7df4\u7fd2 - \u30c7-mk6\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","width":"100%","provider_name":"Hatena Blog","blog_title":"\u30c7-mk6","published":"2009-11-21 04:51:21","title":"Functor, Applicative, Foldable, Traversal\u306e\u7df4\u7fd2","categories":["Haskell"],"blog_url":"https://dechimal.hatenadiary.com/","author_name":"DigitalGhost","type":"rich","url":"https://dechimal.hatenadiary.com/entry/20091121/1258833081","version":"1.0","description":"class Functor f => Applicative f where pure :: a->f a <*> :: f (a->b)->f a->f b class Foldable t where foldr :: (a->b->b)->b->t a->b foldr f b = foldMap (`f` b) foldMap :: Monoid m => (a->m)->t a->m foldMap f = foldr (mappend . f) mempty class (Functor t, Foldable t) => Traversable t where traverse \u2026","height":"190","provider_url":"https://hatena.blog"}