
8 Dec
2012
8 Dec
'12
4:11 a.m.
Hi there, I have a quickSort implementation, then I try to use :t in ghci to inspect what type I receive. I got this. *Main> :t quickSort "Hello the world" quickSort "Hello the world" :: [Char] *Main> :t quickSort [3,2, 1,-10] quickSort [3,2, 1,-10] :: (Num a, Ord a) => [a] The first one looks like :t return type of output of quickSort [Char] The second one looks like :t return the type of function (Num a, Ord a) => [a] Anybody know why this happens? When we will receive type of output, or type of function? And why (Num a, Ord a) => [a], even quickSort doesn't have explicit type, so this type comes from input type and type of function is defined in runtime? Thanks a lot! Cheers, Trung