(遅延) 値の計算に時間がかかる List があります。特定の時間が経過するまで、これらの値をできるだけ多く計算する関数が必要です。
次のような署名を想像します
computeUntil :: [a] -> Int -> IO ([a],[a])
computeUntil list seconds = (computedValues, uncomputedValues)
詳細はあまり重要ではありません。重要なのは、結果の最初のリストにあるすべてのものに遅滞なくアクセスできることです。