fromRange
フィルター関数と間隔を取り、フィルター関数を満たす間隔内のすべての要素を含むセットを返す関数があります。
リスト内包表記を使用して実装しました。
fromRange :: (Integer->Bool) -> (Integer,Integer) -> [Integer]
fromRange f (x,y) = [i | i<-[x..y], f i]
しかし、大きなリストでは非常に時間がかかるため、遅延評価の概念を見つけましたが、それを正確に実装する方法がわかりません。