Haskell の勉強をしていたら iterate という関数を見つけて非常に興味がわきました。 iterate は「初期値」と「現在の値から次の値を算出する関数」の二引数を与えると無限リストを生成してくれる関数です。 線形合同法を用いた疑似乱数列なども簡単に作れてしまうようですね。 線形合同法 - はてな使ったら負けだと思っている deriving Haskell - haskell 線形合同法 - 結城浩のHaskell日記 - haskell 無限リストは遅延評価の言語ならではだよなー、Javaだと無理だよなーとかぼんやり考えていたんですが、もしかして hasNext() が常に true を返す Iterator って無限リストとして使えるのでは?と思いたったので書いてみました。 前提として以下のような interface が存在するとして、 public interface Fu