遅延評価
いつ呼んでも一緒なので、本当に必要になった時に関数がよばれる
必要な要素のみ必要な時に計算されるので
haskelltake [13,26,..24*13]
take 24 [13,26..] --無限個数の配列
この二つは、遅延評価なので同じ処理
無限配列も最初の24個しか扱われない
無限の長さの配列前提なので、Haskellのcycleとかrepeatとかは無限配列を返す(takeで削る前提)
それこそ人間が
数学をする時も、遅延評価で処理が動いているな
偶数の無限個の数列があっても、具体的数字で試すときに初めて評価が動く