リスト

  • x : xs (cons)
  • null xs
  • xs ++ ys (append)

数列表記

".."を使って等差数列を記述

 [1..7]       -- [1, 2, 3, 4, 5, 6, 7]
 ['a'..'e']   -- ['a', 'b', 'c', 'd', 'e']
 [1, 3..11]   -- [1, 3, 5, 7, 9, 11]
 [1..]        -- [1, 2, 3, 4, ....]
 [1, 3..]     -- [1, 3, 5, 7, ....] 

リスト内包表記 (list comprehension)

 [abs x | x <- xs]      -- map abs xs

 [y | y <- ys, y < x]   -- filter (< x) ys

 [(x, y) | x <- [1, 2, 3], y <- ['a', 'b', 'c']] 
         -- [(1, 'a'), (1, 'b'), ... , (3, 'b'), (3, 'c')]