{"blog_url":"https://zehnpaard.hatenablog.com/","type":"rich","height":"190","author_url":"https://blog.hatena.ne.jp/zehnpaard/","version":"1.0","title":"OCaml Effects Tutorial\u306e\u4f8b\u984c\u300cState\u306e\u5b9f\u88c5\u300d\u3092\u8ffd\u3063\u3066\u307f\u308b","published":"2022-12-26 22:33:23","url":"https://zehnpaard.hatenablog.com/entry/2022/12/26/223323","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fzehnpaard.hatenablog.com%2Fentry%2F2022%2F12%2F26%2F223323\" title=\"OCaml Effects Tutorial\u306e\u4f8b\u984c\u300cState\u306e\u5b9f\u88c5\u300d\u3092\u8ffd\u3063\u3066\u307f\u308b - Arantium Maestum\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","provider_name":"Hatena Blog","categories":["OCaml","Algebraic Effects"],"author_name":"zehnpaard","image_url":null,"width":"100%","description":"OCaml Effect Tutorial\u306eState\u306e\u5b9f\u88c5\u306e\u8a71\u3092\u898b\u3066\u3044\u304f\u3002\u3053\u308c\u306fEffect.Deep\u3068Effect.Shallow\u306e\u9055\u3044\u3092\u7d39\u4ecb\u3059\u308b\u30bb\u30af\u30b7\u30e7\u30f3\u306e\u4f8b\u984c\uff1a github.com \u5b9f\u969b\u306b\u793a\u3055\u308c\u3066\u3044\u308b\u30b3\u30fc\u30c9\u306fHaskell\u3067\u3044\u3046\u3068\u3053\u308d\u306eReader\u30e2\u30ca\u30c9\u306b\u4f3c\u305f\u3082\u306e\u3067\u3001State\u3092\u8aad\u3080Get\u306f\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u304cPut\u306f\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u306a\u3044\uff08Put\u306e\u5b9a\u7fa9\u306f\u6f14\u7fd2\u554f\u984c\uff09\u3002 \u305d\u306eGet\u3060\u3051\u306e\u4f8b\u984c\u304b\u3089\u30e2\u30b8\u30e5\u30fc\u30eb\u306eopen\u3092\u7121\u304f\u3057\u3001handler\u3092\u660e\u793a\u7684\u306b\u5909\u6570\u675f\u7e1b\u3059\u308b\u3088\u3046\u306b\u3057\u305f\u30b3\u30fc\u30c9\uff1a module type STATE = sig type t val get : unit -> t val run \u2026","blog_title":"Arantium Maestum","provider_url":"https://hatena.blog"}