複数の配列をひとつのループで処理したい - wata_d's diary

Haskellのリストの場合だったら、concat(またはconcatMapなど)するのが自然のように思います。遅延評価万歳です。

module Main (main) where

main :: IO ()
main = do
  let a = [1, 2, 3]
      b = [4, 5, 6]
      c = [7, 8, 9]
  mapM_ print $ concat [a, b, c]

Rubyのflattenは深い入れ子の配列まで平滑化してしまうので、よく罠にはまります。一段だけのflattenが欲しいです。