3 ms·
Ah, thanks for the correction.
by djur 12y ago
Ah, thanks for the correction.
- michaelochurch 12y ago(Different poster.) In fact, one of the beautiful things about Haskell is that the type system can (usually) infer exactly as much specificity as is needed. λ> :t 5 5 :: Num a => a λ> :t 5.6 5.6 :: Fractional a => a λ> :t (5 :: Integer) (5 :: Integer) :: Integer The type of the literal "Num a => a" means that the literal "5" works for any type in the Num typeclass. So you can mix literals with any numeric type because the compiler will correctly infer the right type. You can even get usages like this: λ> :t (\x -> x + 5) (\x -> x + 5) :: Num a => a -> a λ> let f = (\x -> x + 5) in (f (0 :: Int), f (0 :: Double)) (5,5.0)