List Comprehension
Penjelasan
List comprehension adalah cara ringkas membuat list baru dari list lain — sintaksnya `[ekspresi | x <- list, kondisi]`, terinspirasi dari notasi pembentuk himpunan di matematika. Bisa juga menggabungkan beberapa list sekaligus dan beberapa kondisi filter.
Contoh Konsep
kuadrat :: [Int]
kuadrat = [x * x | x <- [1..5]]
-- [1, 4, 9, 16, 25]
genap :: [Int]
genap = [x | x <- [1..20], x `mod` 2 == 0]
-- [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
pasangan :: [(Int, Int)]
pasangan = [(x, y) | x <- [1..3], y <- [1..3], x /= y]
Praktikum
Pakai list comprehension untuk membuat list berisi kelipatan 3 dari 1 sampai 30.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
List comprehension di Haskell terasa sangat mirip dengan list comprehension Python — kalau kamu sudah familiar dengan `[x**2 for x in range(5)]` di Python, sintaks Haskell hanya beda notasi, bukan beda konsep.