数列モジュール

-- Haskell, 090104

module Sequence (prime, fibonacci, factorial, trianglar) where

import qualified Prime (prime)

-- 素数
prime = Prime.prime

-- フィボナッチ数
fibonacci :: Integral a => [a]
fibonacci = 1 : 1 : zipWith (+) fibonacci (tail fibonacci)

-- 階乗
factorial :: Integral a => [a]
factorial = 1 : zipWith (*) factorial [2..]

-- 三角数
trianglar :: Integral a => [a]
trianglar = zipWith (+) [1..] (0 : trianglar)