リスト内包表記
-- 基本形
[x * 2 | x <- [1..10]]
-- フィルタ
[x * 2 | x <- [1..10], x * 2 >= 12]
-- 条件分岐
[if x < 10 then "BOOM!" else "BANG!" | x <- [1..20], odd x]
-- 2つのリスト
[x + y | y <- [0, 10..90], x <- [0..9]]
-- リストの値を捨てるパターン
length' xs = [1 | _ <- xs]
タプル
- 複数の違う型の要素を格納できる
- 型の組み合わせ自体が型になる
-- 基本形
(1, 3)
(3, 'a', "hello")