基本的例子
λ> :t 1
1 :: Num t => t
λ> :t pi
pi::Floating a => a
在上面的示例中,型別檢查器為兩個常量推斷出型別類而不是具體型別。在 Haskell 中,Num
類是最通用的數字類(因為它包含整數和實數),但是 pi
必須屬於更專業的類,因為它具有非零小數部分。
list0 :: [Integer]
list0 = [1, 2, 3]
list1 :: [Double]
list1 = [1, 2, pi]
上述具體型別由 GHC 推斷。像 list0 :: Num a => [a]
這樣的更普遍的型別會起作用,但是也會更難儲存(例如,如果將一個 Double
強加到 Num
s 列表中),由於上面顯示的警告。