{"width":"100%","height":"190","url":"https://yts.hatenadiary.org/entry/20041127/p2","type":"rich","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fyts.hatenadiary.org%2Fentry%2F20041127%2Fp2\" title=\" \u9818\u57df\u3092\u7121\u99c4\u306b\u3057\u306a\u3044 - One of the Eight Stones\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","image_url":null,"title":" \u9818\u57df\u3092\u7121\u99c4\u306b\u3057\u306a\u3044","categories":["Haskell"],"published":"2004-11-27 00:00:01","blog_title":"One of the Eight Stones","provider_url":"https://hatena.blog","author_name":"yts","version":"1.0","author_url":"https://blog.hatena.ne.jp/yts/","blog_url":"https://yts.hatenadiary.org/","provider_name":"Hatena Blog","description":"\u30c4\u30ea\u30fc\u306e\u7aef\u306e\u305f\u3081\u306b\u9818\u57df\u304c\u7121\u99c4\u306b\u306a\u308b\u3068\u3044\u3046\u6307\u6458\u306f\u9762\u767d\u304b\u3063\u305f\u3002\u3053\u3046\u3044\u3046\u6642\u306b\u3082Views\u304c\u5f79\u306b\u305f\u3061\u305d\u3046\u3002\u5b9f\u73fe\u3057\u305d\u3046\u306b\u306a\u3044\u3051\u308c\u3069\u3001\u500b\u4eba\u7684\u306b\u306f\u975e\u5e38\u306b\u6b32\u3057\u3044\u6a5f\u80fd\u3060\u3002 \u771f\u4f3c\u3057\u3066 data ViewOfT = VT (VT a) a (VT a) | VE toView (N a) = VT a E E ... fromView (VT a E E) = N a ...\u3068\u95a2\u6570\u306e\u5f15\u6570\u306b\u306a\u308b\u3068\u304d\u306b\u5909\u63db\u3057\u3066\u3082\u3044\u3044\u304b\u3082\u3057\u308c\u306a\u3044\u3002 \u666e\u901a\u306a\u306e\u306f data T a = E | N a | L (T a) a | R a (T a) | T (T a) a (T a) isEnd E = True; isEnd _ = Fa\u2026"}