{"type":"rich","title":"\u7d99\u7d9a\u6e21\u3057\u30b9\u30bf\u30a4\u30eb\u3092\u7528\u3044\u305f\u5b9f\u88c5\u3068\u51e6\u7406\u306e\u5206\u96e2","height":"190","version":"1.0","categories":["Scala","\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0","\u30e1\u30e2"],"width":"100%","published":"2020-04-18 13:48:40","blog_title":"Runner in the High","description":"\u307b\u307cZIO\u306ebackground\u30bb\u30af\u30b7\u30e7\u30f3\u306b\u3042\u308b\u30b5\u30f3\u30d7\u30eb\u305d\u306e\u3082\u306e\u3060\u304c\u3001\u5099\u5fd8\u9332\u7684\u306b\u6b8b\u3057\u3066\u304a\u304f zio.dev \u3044\u308f\u3086\u308bfor-comprehension\u3092\u4f7f\u308f\u305a\u306b\u3001Application\u3092\u30df\u30af\u30b9\u30a4\u30f3\u3057\u305f\u5404ADT\u304c\u305d\u308c\u305e\u308crest\u3068\u3044\u3046\u540d\u524d\u3067\u6b21\u306e\u51e6\u7406\u3092\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u3068\u3057\u3066\u53d6\u308b\u5b9f\u88c5\uff08\u7d99\u7d9a\u6e21\u3057\u30b9\u30bf\u30a4\u30eb\uff09\u306b\u306a\u3063\u3066\u3044\u308b\u3002 sealed trait Application[A] final case class Return[A](value: () => A) extends Application[A] final case class Output[A](line: String, rest: Appl\u2026","image_url":null,"provider_name":"Hatena Blog","author_url":"https://blog.hatena.ne.jp/IzumiSy/","url":"https://izumisy.work/entry/2020/04/18/134840","author_name":"IzumiSy","blog_url":"https://izumisy.work/","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fizumisy.work%2Fentry%2F2020%2F04%2F18%2F134840\" title=\"\u7d99\u7d9a\u6e21\u3057\u30b9\u30bf\u30a4\u30eb\u3092\u7528\u3044\u305f\u5b9f\u88c5\u3068\u51e6\u7406\u306e\u5206\u96e2 - Runner in the High\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","provider_url":"https://hatena.blog"}