{"html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fkazu-yamamoto.hatenablog.jp%2Fentry%2F20110413%2F1302683869\" title=\"QA\u3067\u5b66\u3076Monad - \u3042\u3069\u3051\u306a\u3044\u8a71\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","type":"rich","blog_url":"https://kazu-yamamoto.hatenablog.jp/","provider_name":"Hatena Blog","version":"1.0","title":"QA\u3067\u5b66\u3076Monad","image_url":null,"provider_url":"https://hatena.blog","categories":["Haskell"],"author_url":"https://blog.hatena.ne.jp/kazu-yamamoto/","author_name":"kazu-yamamoto","height":"190","blog_title":"\u3042\u3069\u3051\u306a\u3044\u8a71","published":"2011-04-13 17:37:49","description":"\u3053\u306e\u8a18\u4e8b\u306f\u3001Monad \u3067\u3064\u307e\u3065\u3044\u305f Haskeller \u306e\u305f\u3081\u306e Monad \u518d\u5165\u9580\u3067\u3059\u3002 Monad\u3068\u306f\u4f55\u3067\u3059\u304b\uff1f Monad \u3068\u306f\u3001\u5358\u306a\u308b\u578b\u30af\u30e9\u30b9\u306e\u4e00\u3064\u3067\u3059\u3002\u96e3\u3057\u3044\u3068\u3044\u3046\u98a8\u8a55\u3082\u3042\u308a\u307e\u3059\u304c\u3001\u305d\u308c\u4ee5\u4e0a\u3067\u3082\u305d\u308c\u4ee5\u4e0b\u3067\u3082\u3042\u308a\u307e\u305b\u3093\u3002\u3053\u306e\u578b\u30af\u30e9\u30b9\u306e\u30e1\u30bd\u30c3\u30c9\u306f\u3001return \u3068 >>= \u3067\u3059\u3002 class Monad m where (>>=) :: m a -> (a -> m b) -> m b return :: a -> m a \u3064\u307e\u308a\u3001\u4ee5\u4e0b\u3092\u6e80\u305f\u3059\u578b\u306e\u96c6\u5408\u304c Monad \u3067\u3059\u3002 m a \u3067\u8868\u73fe\u3067\u304d\u308b\u3088\u3046\u306b\u4e00\u3064\u306e\u578b\u5909\u6570\u3092\u683c\u7d0d\u3059\u308b\u30b3\u30f3\u30c6\u30ca\u578b >>= \u3068 return \u3092\u5b9f\u88c5 return \u306f\u65b0\u2026","width":"100%","url":"https://kazu-yamamoto.hatenablog.jp/entry/20110413/1302683869"}