「エラトステネスの篩」など。

フィボナッチ数列:次の数字は前の数字とその前の2つを足した数字。

ghci> let fib=0:1:[a+b|(a,b)<-zip fib (tail fib)]
ghci> take 20 $ fib
[0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181]

素数:1と自分自身以外のどんな自然数によっても割り切れない数。

ghci> take 20 $ map (\[a,b]->b) $filter (\a->length a==2) [(filter (\a->x `rem` a == 0) [1..x])|x<-[2..]]
[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71]

素数(エラトステネスの篩):リストの先頭の数を素数リストに記録し、残りのリストからその倍数を削除したリストを作成する。そのリストの先頭の数を素数リストに追加し・・・と言う再帰

ghci> let prime (x:xs) = x:prime(filter (\a->a `rem` x /=0) xs)
ghci> take 20 $ prime [2..]
[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71]