{"description":"\u7279\u306b\u3053\u3046\u3084\u3063\u3066\u305d\u306e\u5834\u3067static\u5909\u6570\u30e2\u30c9\u30ad\u304c\u3067\u304d\u308b\u306e\u306f\u899a\u3048\u3068\u3053\u3046\u2026\u2026\u3002Haskell\u3067\u306f\u8003\u3048\u3089\u308c\u306a\u3044\u3057(\u3067\u304d\u308b\u3051\u3069\u666e\u901a\u306f\u3084\u3089\u306a\u3044\u2190\u30c4\u30c3\u30b3\u30df\u907f\u3051)\u3001\u30af\u30ed\u30fc\u30b8\u30e3\u304c\u30b9\u30bf\u30c3\u30af\u306b\u7e1b\u3089\u308c\u3066\u3044\u308bD\u3084Ada\u3067\u3082\u8003\u3048\u3089\u308c\u305a\u3001\u4eca\u307e\u3067\u306b\u7d4c\u9a13\u3057\u3066\u3053\u306a\u304b\u3063\u305f\u30d1\u30bf\u30fc\u30f3\u306a\u306e\u3067\u3002 # let s = Stream.from ((fun () -> let z = ref 0 in fun i -> z := !z + 1; Some !z) ());; val s : int Stream.t = <abstr> # Stream.next s;; - : int = 1 # Stream.next s;; - : int\u2026","image_url":null,"height":"190","provider_name":"Hatena Blog","author_url":"https://blog.hatena.ne.jp/ytqwerty/","version":"1.0","blog_url":"https://ytqwerty.hatenadiary.org/","title":" Stream.from\u3068\u30af\u30ed\u30fc\u30b8\u30e3","type":"rich","width":"100%","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fytqwerty.hatenadiary.org%2Fentry%2F20071029%2Fp2\" title=\" Stream.from\u3068\u30af\u30ed\u30fc\u30b8\u30e3 - Note\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","published":"2007-10-29 00:00:01","provider_url":"https://hatena.blog","categories":["OCaml"],"blog_title":"Note","author_name":"ytqwerty","url":"https://ytqwerty.hatenadiary.org/entry/20071029/p2"}