タイプも基本(3)

  • インテジェのリストだよ
ghci> let a=[1..5]
ghci> :t a
a :: [Integer] 
  • 関数を書いて、そのタイプをチェック。リストを取ってその和を返す関数
    • そのタイプは、何かしらのタイプa(ただし、それはsumがとれるようなタイプであって、そのようなタイプはNumと称される一群のタイプの集まりである)があったとして、そのaのリストをとって、タイプaであるものを返すようなもの、ということがわかる
ghci> let mytestsum x = sum(x)
ghci> :t mytestsum
mytestsum :: Num a => [a] -> a
ghci> mytestsum [1..3]
6
  • このある条件を満足するタイプの集まりをタイプクラスと言う。Numはそのタイプクラスの一つ